首页 > 代码库 > 小学生算术

小学生算术

小学生算术

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。
输入
输入两个正整数m,n.(m,n,都是三位数)
输出
输出m,n,相加时需要进位多少次。
样例输入
123 456
555 555
123 594
0 0
样例输出
0
3 
1

#include<stdio.h>

int main()
{
int n,m,count1,count2,x,y,sum;
scanf("%d%d",&n,&m);
while(n!=0&&m!=0)
{
count2=0;
count1=0;
do{
x=n%10;
y=m%10;
n=n/10;
m=m/10;
sum=x+y+count1;
count1=0;
if(sum>=10)
{
count1++;
count2++;
}
}while(n>0&&m>0);
printf("%d\n",count2);
scanf("%d%d",&n,&m);
}
return 0;

}

方法二

#include<stdio.h>
int main()
{
int n,m,count1,count2,x,y,sum;
while(scanf("%d%d",&n,&m)&&n!=0&&m!=0)
{
count2=0;
count1=0;
do{
x=n%10;
y=m%10;
n=n/10;
m=m/10;
sum=x+y+count1;
count1=0;
if(sum>=10)
{
count1++;
count2++;
}
}while(n>0&&m>0);
printf("%d\n",count2);
}
return 0;
}

小学生算术