统计进位的个数,,如何获得一个数的各位的值。注意这种数据:7899934 66
#include <iostream>
using namespace std;
int main()
{
long int a,b;
int s[10],t[10];
while(scanf("%ld%ld",&a,&b)&&(a+b)){
int i=0,j=0;
while(a){
s[i++]=a%10;
a/=10;
}
while(b){
t[j++]=b%10;
b/=10;
}
int n=(i<=j)?i:j;
int ans=0,tmp,cary=0,k;
for(k=0;k<n;k++){
tmp=s[k]+t[k]+cary;
if(tmp>=10){
ans++;
cary=tmp/10;
}
}
if(i>=j){
while(s[k++]==9&&cary!=0){
ans++;
}
}else{
while(t[k++]==9&&cary!=0){
ans++;
}
}
if(ans==0){
puts("No carry operation.");
continue;
}
if(ans==1){
puts("1 carry operation.");
continue;
}
else printf("%d carry operations.\n",ans);
}
return 0;
}