现在有这样一个问题:
首先定义一个大小为20的整型数组,就好像这样-- int a[20], 之后,根据需要存储一定量的数到数组中(可以小于20个),要求是输入数字以空格为单位隔开,直到输入回车结束输入,并把数字存入数组中。
示例:输入数据 1 2 9 8 7( ),之后 a[0] = 1,a[1] = 2,a[2] = 9,a[3] = 8, a[4] = 7,其余初始化为0
开始并没有很好的想法,后来一网友提供了一个思想,解决了问题,实例程序如下:
#include <stdio.h> int main(int argc, char *argv[]) { int a[20] = {0}; int i = 0 ; int value; char *er; while (1) { er = (char*)malloc(sizeof(char)); scanf("%d", &value); a[i++] = value; scanf("%c", er); if(*er == 32) /*空格的ASC码为32*/ continue; else if (*er == 10){ /*回车的ASC码为10*/ break; } free(er); } for(i = 0; i < 20; i++) { printf("输入的数:%d ", a[i]); } }
得到的结果如下所示:
当然,这种方法可能不是很好,在这里,非常感谢大家提供更好的解决办法,谢谢!