Description
Calculate A + B.
Input
Each line will contain two integers A and B. Process to end of file. (EOF)
Output
For each case, output A + B in one line.
Sample Input 1
2 3
4 5
Sample Output 1
5
9
毛学姐提供的代码
#include <stdio.h>
#include <string.h>
void rev(char str[], int len)
{
char t;
for(int i = 0; i < len / 2; ++i){
t = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = t;
}
}
int main()
{
char a[1000],b[1000],c[1000];
int ai, bi, val, carry;
int len, len1, len2;
scanf("%s %s", a, b);
len1 = strlen(a);
len2 = strlen(b);
len = len1 > len2 ? len1 : len2;
rev(a,len1);
rev(b,len2);
carry = 0;
for(int i = 0; i < len; ++i){
ai = i < len1 ? a[i] - '0' : 0;
bi = i < len2 ? b[i] - '0' : 0;
val = (ai + bi + carry) % 10;
carry = (ai + bi + carry) /10;
c[i] = val + '0';
}
if(carry == 1) putchar('1');
for(int i = len - 1; i >=0 ; --i)
putchar(c[i]);
puts("");
return 0;
}