输入多组测试数据,判断输入结束的方式与题目要求有关。
常见方式有:
先输入测试组数,再读数据
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达到结束效果。
使用 vscanf解析参数列表。
see see
http://www.cplusplus.com/reference/cstdio/vscanf/
#include
int main()
{
int ch;
while( (ch=getchar())!='\n' )
putchar(ch);
return 0;
}
while(scanf("%d",&a)!=EOF)