我试图将整数分成数组。我一直在使用模10然后除以10,但我相信这只适用于6位数或更少的数字我可能错了,但它对我不起作用。这就是我所拥有的:
for(int i=0; i<=8; i++){
intAr[i] = intVal%10;
intVal /= 10;
}
这对我不起作用,帮助很可爱
答案 0 :(得分:2)
我猜你有的问题是数组中的数字是相反的。所以试试这个:
for(i=8;i>=0;i--)
{
intAr[i] = intVal%10;
intVal /= 10;
}
这将有效并且数字正确存储在数组中
答案 1 :(得分:1)
如果您希望数字从右到左存储在数组中,则需要反转存储值的方式:
for(int i=0; i < 9; i++)
{
intAr[9 - i - 1] = intVal % 10;
intVal /= 10;
}
这将存储您的号码(103000648)
|-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|
| 1 | 0 | 3 | 0 | 0 | 0 | 6 | 4 | 8 |
而不是
|-0-|-1-|-2-|-3-|-4-|-5-|-6-|-7-|-8-|
| 8 | 4 | 6 | 0 | 0 | 0 | 3 | 0 | 1 |