您的位置:首页 > 其它

计算两个数相加时进位的个数

2015-11-19 09:18 183 查看
/**
计算两个数相加时进位的个数
*/
#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
freopen("in.txt","r",stdin);
int a,b;
while(scanf("%d%d",&a,&b) && (a != 0 || b!= 0))
{
int c = 0,ans = 0;
for(int i = 9;i >= 0;i ++)
{
c = (a % 10 + b % 10 + c) >9 ? 1 : 0;
ans += c;
a /= 10;
b /=  10;
}
printf("%d\n",ans);
}
return 0;
}


因为给的数的最多为9位 所以i的循环到9 表示将每一位参与到运算

c = (a % 10 + b % 10 + c) >9 ? 1 : 0;  c值用来判断这两位数相加是否产生进位
ans += c;  ans用来表示总共的进位个数
a /= 10;b /= 10; 更新到a b 的下一位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: