您的位置:首页 > 其它

小学生算术

2015-11-23 20:32 232 查看
</pre><pre>


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

方法一:

#include<stdio.h>
int main()
{
int a,b,i;
scanf("%d%d",&a,&b);
for(i=0;a>0;)
{
int h,j;
h=a%10;
j=b%10;
if(h+j>9) i++;
a=a/10;
b=b/10;
}
printf("%d",i);
return 0;
}


方法二:

<span style="font-size:18px;">#include<stdio.h>
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int a1,a2,a3,b1,b2,b3;
if(n==0&&m==0)
return 0;
else
{
int i=0,k;
a1=n/100;
a2=n/10%10;
a3=n%10;
b1=m/100;
b2=m/10%10;
b3=m%10;
if(a3+b3>=10 )
{
k=1;
i++;
}
if(a2+b2+k>=10 )
{
k=1;
i++;
}
if(a1+b1+k>=10)
{
i++;
}
printf("%d\n",i);
}
}
return 0;
}
这个是拿着题第一的想法,但是要注意,每一位位数的两个数满足于10,也不排除有456,344的情况,个位满足于10,十位有了个位的1之后也满足,也算是一位进位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: