无语子,居然模拟的时候这么简单的题都没写出来。
计算a+b的和
每行包含两个整数a和b
对于每行输入对应输出一行a和b的和
输入
1 5
输出
6
首先题目理解的错误了,是每一行,而不是一行,需要处理多个输入。
之前错误代码
#include<cstdio>
#include<cstdlib>
using namespace std;
int main(){
int a,b;
int c;
while(scanf("%d",&a)&&scanf("%d",&b)){
c=a+b;
printf("%d",c);
}
return 0;
}
修改后的
#include<cstdio>
#include<cstdlib>
using namespace std;
int main(){
int a,b;
int c;
while(scanf("%d%d",&a,&b)!=EOF){
c=a+b;
printf("%d\n",c);
}
system("pause");
return 0;
}
对之前的代码进行修改
#include<cstdio>
#include<cstdlib>
using namespace std;
int main(){
int a,b;
int c;
while(scanf("%d",&a)!=EOF&&scanf("%d",&b)!=EOF){
c=a+b;
printf("%d\n",c);
}
return 0;
}
本文讨论了一段C++代码在处理多行输入时的错误,并提供了修正方案。原始代码未能正确处理多行输入,导致输出不准确。通过修改`scanf`的使用方式,修复了这一问题,确保每行输入都能正确计算并输出两个整数之和。修复后的代码增加了对EOF的检查,保证了程序的完整运行。
1605

被折叠的 条评论
为什么被折叠?



