C 编程:如何将数字插入数组,使数字的每个数字都进入数组的每个字段?
C Programming: How do I insert a number into an array such that each digit of the number goes into each field of the array?
我需要输入一个 1000 位的数字并处理它的每一位数字。因此我希望将数字拆分为单个数字并将它们放入大小为 1000 的数组的每个字段中。我如何使用 C 编程来做到这一点?
编辑:我一直在研究 Project Euler 问题 8。我知道我必须做什么:将每个数字放入一个数组中并使用滑动 window 找到最大的产品。但我不确定实施情况。我已经搜索了其他答案,但恐怕所有答案都是用 C 以外的任何语言编写的,而且看起来很简单。我想在 C 中实现相同的功能,所以问了论坛。
#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;
}
我需要输入一个 1000 位的数字并处理它的每一位数字。因此我希望将数字拆分为单个数字并将它们放入大小为 1000 的数组的每个字段中。我如何使用 C 编程来做到这一点?
编辑:我一直在研究 Project Euler 问题 8。我知道我必须做什么:将每个数字放入一个数组中并使用滑动 window 找到最大的产品。但我不确定实施情况。我已经搜索了其他答案,但恐怕所有答案都是用 C 以外的任何语言编写的,而且看起来很简单。我想在 C 中实现相同的功能,所以问了论坛。
#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;
}