Code: Select all
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char num[2][11];
int carry, ans, sumOfDigits, bigNumI, smallNumI, bigNumDigits, smallNumDigits, tmp;
scanf("%s %s", num[0], num[1]);
while(!(atoi(num[1]) == 0 && atoi(num[0]) == 0)){
carry = 0;
ans = 0;
bigNumDigits = strlen(num[0]);
smallNumDigits = strlen(num[1]);
if ( bigNumDigits < smallNumDigits){
tmp = bigNumDigits;
bigNumDigits = smallNumDigits;
smallNumDigits = tmp;
bigNumI = 1;
smallNumI = 0;
}
else{
bigNumI = 0 ;
smallNumI = 1 ;
}
while( smallNumDigits--){
sumOfDigits = num[bigNumI][--bigNumDigits] + num[smallNumI][smallNumDigits] + carry;
if (sumOfDigits > 105){
carry = 1;
ans ++;
}
else
carry = 0;
}
while(bigNumDigits-- && carry){
sumOfDigits = num[bigNumI][bigNumDigits] + carry;
if (sumOfDigits > 57){
carry = 1;
ans ++;
}
else
carry = 0;
}
/* output*/
if(ans)
printf("%d carry operations.\n", ans);
else
printf("No carry operation.\n");
scanf("%s %s", num[0], num[1]);
}
return 0;
}