多组输入的方法
1.EOF法
因为在线评测系统的输入数据存放在一个文件中,因此可以通过文件是否结束的方式判断输入的数据是否结束。scanf在读取到文件结束符时,会返回标识EOF(end of life),EOF是一个预定义的常量,等于-1。通过判断scanf的返回值否为EOF决定是否退出循环。
例题:给定两个整数a,b,求这两个数之和
【输入】
输入数据有多行。每行数据中含有两个整数a,b(0<=a,b<=109)
【输出】
对每行数据,输出对应的a+b的值。
【样例输入】
123 500
60 80
70 90
【样例输出】
623
140
160
例如:
2.计数法
在有些题目中,先给一个正整数,告诉数据输入的组数,然后根据这个数组进行读取。还是刚才的题目。代码如下:
3.哨兵法
有些问题中不告诉循环次数,而是给定一个特殊值,表示输入的结束。这个特殊值被称为哨兵,因此这个输入方法称为哨兵法。
例题:给定两个整数a,b,求这两个数之和
【输入】
输入数据有多行。每行数据中含有两个整数a,b(0<=a,b<=109)。最后一行数据是0 0,标志输入结束。0 0一行本身不需要计算输出。
【输出】
对每行数据,输出对应的a+b的值。
【样例输入】
123 500
60 80
0 0
【样例输出】
623
140
代码实现如下: