只有一组
输入格式:
输入两个正整数a和b,中间用空格隔开。
输出格式:
输出一个正整数,a与b的和
输入样例:
1 2
输出样例:
3
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
解析:
最简单的输入输出方法,只有一组,接收计算即可。
利用零结尾
输入格式:
多组测试数据,每组测试数据占一行,包括2个整数a,b。如果输入0 0,则表示输入结束。
输出格式:
每组测试数据占一行,输出两个整数的和。
输入样例:
1 5
10 20
0 0
输出样例:
6
30
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
// while(scanf("%d%d",&a,&b)&&a){
// cout<<a+b<<endl;
// }
while(cin>>a>>b&&a){
cout<<a+b<<endl;
}
return 0;
}
解析:
当遇到零的时候即输入结束,所以再循环的判断处,判断一下a是否为零,当然这种情况,如果遇到a是零的时候,但b有效时就会判错。
给定组数
输入格式:
给定一个正整数n,随后n行,代表n组数据,每组测试数据占一行,包括2个整数a,b。
输出格式:
每组测试数据占一行,输出两个整数的和。
输入样例:
2
1 5
10 20
输出样例:
6
30
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
return 0;
}
解析:
题目中给定组数的数量,一套循环直接出来答案。也是最常见的一种输入方式。
无结尾标识符
输入格式:
输入包括多组数据,每组数据占一行,包括两个正整数
输出格式:
对于输入的每一组数据,输出他们的和,每组输出占一行。
输入样例:
1 5
10 20
输出样例:
6
30
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
// while(scanf("%d%d",&a,&b)!=EOF){
// cout<<a+b<<endl;
// }
// while(~scanf("%d%d",&a,&b)){
// cout<<a+b<<endl;
// }
while((cin>>a>>b)!=0){
cout<<a+b<<endl;
}
return 0;
}
解析:
EOF是文件结尾标志,因为OJ判题都是从文件中读取数据,所以直接用EOF即可,可以再调试的时候使用CTRL+Z进行模拟。
~是C语言中的按位取反,当没有数据输入时,scanf返回-1,按位取反后即为0
当遇到文件结尾时,cin返回0,所以进行判断。
这种输入也是比较常见的输入方式。
Comments | NOTHING