C语言中,如何将输入的若干个数字保存到数组中,不要用字符串写。

第一种格式是若干个数字只有一行,数与数之间用空格隔开,如1 2 6 5 8 9 10 13 123132
第二种格式是若干个数字,一行一个数字,如
1
2
3
10
20

应该是用while来写的,但我老是失败,求正解,千万别复制,附上解释。
补充:第一种格式的不需要大家去想了,想想第二种格式。 不能用ctrl+z,否则NA

#include<stdio.h>
main()
{
char x;
char input1='\0';
char input2='\0';
int number1=0;
int number2=0;
printf("请输入字符串1:(输入?结束)");//输入?作为字符串1的结束符
while(x!='?')
{
x=getchar();
if(x=='?')
break;
input1=x;
if(input1>='0'&&input1<='9')//每检查到一个数字就要乘10,进一位
number1=number1*10+input1-'0';//比如字符'9'-'0'之后的数是数字9

}
x='\0';//将字符x重置值,因为原来是等于?的
printf("请输入字符串2:(输入?结束)");
while(x!='?')
{
x=getchar();
if(x=='?')
break;
input2=x;
if(input2>='0'&&input2<='9')
number2=number2*10+input2-'0';

}
printf("两串数之和为%d",number1+number2);
getch();

}//没有用到数组和指针,也没有调用函数,真不明作业这么多要求。。。
//希望能帮到你
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-20
while(scanf("%d",&temp)==1)a[++i]=temp;
scanf返回成功输入的变量个数
Ctrl+Z结束输入追问

不准用ctrl+z或者ctrl+d什么的

本回答被提问者采纳