我需要输入一个1000位的数字并处理它的每个数字。因此,我希望将数字拆分为单个数字,并将它们放入大小为1000的数组的每个字段中。如何使用C编程实现此目的?
编辑:我一直在研究Project Euler问题8.我知道我要做什么:将每个数字放入一个数组并使用滑动窗口找到最大的产品。但我不确定实施情况。我已经搜索了其他答案,但我担心所有这些答案都是C语言以外的任何语言,看起来很容易。我想在C中实现相同的功能,所以要求论坛。答案 0 :(得分:1)
#include <stdio.h>
#define MAX_NUMS 5 // change me to 1000
int main(int argc, const char * argv[])
{
char numberString[ MAX_NUMS + 1 ];
int numberNumeric [ MAX_NUMS ];
printf("Enter number ");
scanf("%s",numberString);
for ( int i=0; i < MAX_NUMS; ++i)
{
printf("converting %c\n",numberString[i]);
numberNumeric[i] = (numberString[i] - 0x30); // convert ascii to integer
}
// Your array of 1-digit numbers
for ( int i=0; i < MAX_NUMS; ++i)
{
printf("%i ",numberNumeric[i]);
}
return 0;
}