您的位置:首页 > 其它

小学生算术

2018-02-09 08:39 197 查看

小学生算术

很多小学生在学习加法时,发现“进位”特别容易出错。你的任务是计算两个三位数在相加时需要多少次进位。你编制的程序应当可以连续处理多组数据,直到读到两个0(这是输入结束标记)。

输入输入两个正整数m,n.(m,n,都是三位数)输出输出m,n,相加时需要进位多少次。

样例输入

123 456

555 555

123 594

0 0

样例输出

0

3

1

#include<stdio.h>
int main()
{
int m,n,ci;
while(scanf("%d %d",&m,&n)!=EOF&&m!=0||n!=0)
{
ci=0;
if((m%10+n%10)>=10)//个位相加超过10;
ci++;
if((m/10%10+n/10%10)>=10||((m%10+n%10)>=10&&(m/10%10+n/10%10+1)>=10))//十位相加超过10或者个位相加超过10而十位相加刚好等于9;
ci++;
if((m/100+n/100)>=10||((m/10%10+n/10%10)>=10&&(m/100+n/100+1)>=10)||((m%10+n%10)>=10&&(m/10%10+n/10%10+1)>=10&&(m/100+n/100+1)>=10))//百位相加超过10;或者十位相加超过10,百位相加刚好等于9;或者个位相加超过10,而十位和百位相加都是9;
ci++;
printf("%d\n",ci);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: