小学生算术
时间限制:
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; }