多组输入
多组输入要求你处理到文件的结尾(EOF,end of file)。
也就是说,输入完一组数据以后,你的程序不能结束,而应该等待下一组输入。
对于每一组输入,应当在循环体内完成对这一组数据的处理,并按照格式要求输出答案。
比如HDU1000
它要求你处理到文件的结尾,并且对于每一组输入,在一行中输出答案,所以程序应该这样写:
#include <stdio.h>
int main() {
int a, b;
while (scanf("%d%d", &a, &b) != EOF) {
//在这两个大括号之间,处理数据并输出答案
printf("%d\n", a + b);
}
return 0;
} 这样的题目也是用多组输入的:
只要题目中说了多组输入,或者说了要求处理到文件的结尾,都应该使用这样的格式。
如果暂时不明白也没关系,先用上再说。
T组输入
T组输入是指,输入数据会指定输入的组数,你的程序应当读入T后,执行T次对数据的读入,处理和输出。
比如HDU1090
所以下面的代码可以满足要求:
#include <stdio.h>
int main() {
int a, b, T;
scanf("%d", &T);
while (T--) {
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
}
return 0;
} 如果这样写你看不懂的话,这个循环也可以这样表示:
#include <stdio.h>
int main() {
int a, b, T;
scanf("%d", &T);
for (int i = 0; i < T; i++) {
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
}
return 0;
} 比如这题,就是比较典型的T组输入

京公网安备 11010502036488号