小学生算术
2017-06-10 12:28
155 查看
小学生算术
时间限制:3000 ms | 内存限制:65535 KB难度:1
描述很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
输入输入两个正整数m,n.(m,n,都是三位数)
输出输出m,n,相加时需要进位多少次。
样例输入
123 456 555 555 123 594 0 0
样例输出
0 3 1
来源[张洁烽]原创
上传者
张洁烽
代码:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <string>
#include <algorithm>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int a,b;
while(scanf("%d%d",&a,&b) && (a!=0 || b!=0)){
int c=0; //进位
int ans=0;
while(a!=0 && b!=0){
int tmp1=a%10;
int tmp2=b%10;
int sum=tmp1+tmp2+c;
if(sum/10 != 0){
ans++;
}
a/=10;
b/=10;
c=sum/10;
}
// if(c !=0){
// ans++;
// }
printf("%d\n",ans);
}
return 0;
}