c语言如何判断不确定个数数据输入结束

我输入一组数据,但是个数不确定,比如输入1 2 3 ,就输出1 2 3,输入1 2 3 4,就输出1 2 3 4,怎么判断输入结束?(不想用字母指定,scanf也不能读入\n怎么办),求大神。

第1个回答  推荐于2017-10-08
输入多组测试数据,判断输入结束的方式与题目要求有关。

常见方式有:
先输入测试组数,再读数据
int tn,n;
scanf("%d", &tn);
while( tn-- ) { scanf("%d", &tn);....} //按tn次数循环读数

不确定测试组数,以规定数据结束,如,-1或负数
while( scanf("%d", &n), n>=0 ) { //只要n不是负数,就会循环

}

不确定测试组数,以EOF判定结束,
while( scanf("%d", &n)!=EOF ) { //当收到EOF信息时,结束

}
这种情况一般是测试库用文件来作为数据输入源,如果以键盘为输入源,则要在空行位置按ctrl+z达到结束效果。
第2个回答  2014-09-12
使用 vscanf解析参数列表。

see see

http://www.cplusplus.com/reference/cstdio/vscanf/本回答被提问者采纳
第3个回答  2014-09-12
#include <stdio.h>
int main()
{
int ch;
while( (ch=getchar())!='\n' )
putchar(ch);

return 0;
}本回答被网友采纳
第4个回答  2015-10-17
while(scanf("%d",&a)!=EOF)
相似回答