1、只有一组测试数据
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", a + b);
return 0;
}
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
2、有多组测试数据,直到读至输入文件结尾为止
#include <stdio.h>
int main() {
int a, b;
while(scanf("%d %d", &a, &b) != EOF) {
printf("%d\n", a + b);
}
return 0;
}
说明:scanf
函数返回值就是读出的变量个数,如:scanf(“%d %d”, &a, &b);
如果只有一个整数输入,返回值是 1,如果有两个整数输入,返回值是 2,如果一个都没有,则返回值是 -1。EOF 是一个预定义的常量,等于 -1。
#include <iostream>
using namespace std;
int main() {
int a, b;
while(cin >> a >> b) {
cout << a + b << endl;
}
return 0;
}
3、在开始的时候输入一个 N,接下来是 N 组数据
#include <stdio.h>
int main() {
int n, i;
int a, b;
scanf("%d", &n);
for(i = 0; i < n; i++) {
scanf("%d %d", &a, &b);
printf("%d\n", a + b);
}
return 0;
}
#include <iostream>
using namespace std;
int main() {
int a, b, n;
cin >> n;
while(n--) {
cin >> a >> b;
cout << a + b << endl;
}
return 0;
}
4、输入不说明有多少组数据,但以某个特殊输入为结束标志
#include <stdio.h>
int main() {
int a, b;
while(scanf("%d %d", &a, &b) && (a || b)) {
printf("%d\n", a + b);
}
return 0;
}
C++ 代码:
#include <iostream>
using namespace std;
int main() {
int a, b;
while(cin >> a >> b && (a || b)) {
cout << a + b << endl;
}
return 0;
}
5、输入不定长数组
int main() {
vector<int> inputs;
int tmp;
cin >> tmp;
inputs.push_back(tmp);
while (cin.get() != '\n') {
cin >> tmp;
inputs.push_back(tmp);
}
cout << inputs.size() << endl;
for (int x : inputs) cout << x << " ";
cout << endl;
return 0;
}
6、输入字符串。
getline(cin, buf);