题目描述
输入两个数A,BA,B,输出A+BA+B的值。
输入描述
多组数据:每组由两个整数(AA和BB)构成,AA和BB之间用空格隔开,每组输入单独占一行。
当输入为"0 0"时,输入结束。"0 0"这组数据不处理。
输出描述
对于每一组测试用例,输出齐对应的和,每组数据一行。
样例输入
1 2 3 4 10 20 0 0
样例输出
3 7 30
#include <iostream>
using namespace std;
int main()
{ int a,b;
do{
scanf("%d %d",&a,&b);
printf("%d\n",a+b);
}while(a!=0&&b!=0);
return 0;
}
一开始我是这样写的...然后
1 2
3
3 4
7
10 20
30
0 0
0
--------------------------------
Process exited after 8.327 seconds with return value 0
请按任意键继续. . .
不能一次性输出-=----=
同时处理了0 0。
回顾代码可以发现问题出现在输出在循环内
于是可以放出来,但是如何根据每组输入 输出多个结果呢?
可以也用循环🐎
但是又有一个问题
如何连接两个循环?即如何按照一组一组的方式得出结果并输出
这需要每组的A B A+B 能够对应上
同时规避0 0
#.#冥思苦想(百度)后我发现可以利用参数i,j连接数据
#include <iostream>
using namespace std;
int main()
{ int a,b,c;
int i,j;
j=0;
do{
cin>>a;
cin>>b;
if(a==0&&b==0) break;
c=a+b;
j++;
}while(1);
for(i=0;i<j;i++)
cout<<c<<endl;
return 0;
}
然鹅
1 2
3 4
10 20
0 0
30
30
30
--------------------------------
Process exited after 4.705 seconds with return value 0
请按任意键继续. . .
结果无法将结果储存然后分别输出
而是被依次替换变成最后的赋值...
然后我敲敲脑袋(百度)
发现可以将结果放进数组里然后依次输出
#include <iostream>
using namespace std;
int main()//用数组来解决‘多组’ 输出
{ int a,b,c[10086];
int i,j;
j=0;
do{
cin>>a;
cin>>b;
if(a==0&&b==0) break;
c[j++]=a+b;
}while(1);
for(i=0;i<j;i++)
cout<<c[i]<<endl;
return 0;
}
结果...终于通过了//*&*