Int into Array C ++求助

时间:2014-02-07 04:34:39

标签: c++ arrays

我试图将整数分成数组。我一直在使用模10然后除以10,但我相信这只适用于6位数或更少的数字我可能错了,但它对我不起作用。这就是我所拥有的:

for(int i=0; i<=8; i++){ 
    intAr[i] = intVal%10;
    intVal /= 10;
}

这对我不起作用,帮助很可爱

2 个答案:

答案 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 |