小学生算术
时间限制:3000 ms | 内存限制:65535 KB
难度:1
输入
输入两个正整数m,n.(m,n,都是三位数)
输出
输出m,n,相加时需要进位多少次。
样例输入
123 456 555 555 123 594 0 0
样例输出
0 3 1
描述
很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
#include<stdio.h>
int main()
{
int m,n,t,flag,i;
while(1){ //死循环
t = flag = 0; //flag为进位标志,若上一次计算没有进位则为0,有进位则为1
i = 3;
scanf("%d%d",&m,&n);
if(m == 0 && n == 0) break; //当都为0时结束循环
while(i--){
if(m % 10 + n % 10 + flag> 9) { //需要加上进位标志
t++;
flag = 1;
}
else flag = 0;
m = m /10;
n = n /10;
}
printf("%d\n",t);
}
return 0;
}