您的位置:首页 > 其它

小学生算术

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  小学生算术