#include <stdio.h>
short a[666] = { 0 }, b[666] = { 0 };
int main() {
int n;
int i = 0, j = 0;
while ((n = getchar()) != '\n'&&n!= EOF&&n!='\r')
{
i++;
a[i] = n - 48;
}
int c;
c=getchar(); //这里解决了此题不能用getchar的问题 但是这里为什么会有一个退格符呢
printf("%d ",c); //输入输出数据在下
while ((n = getchar()) !='\n'&&n!= EOF&&n!='\r' )
{
j++;
b[j] = n - 48;
}
int max;
if (j > i) max = j;
else max = i;
int k = max;
if (i == max) {
while (1) {
if (i == j) break;
b[i] = b[j];
b[j] = 0;
i--;
j--;
if (j == 0) break;
}
}
else {
while (1) {
a[j] = a[i];
a[i] = 0;
i--;
j--;
if (i == 0) break;
}
}
while (max >= 1) {
if ((a[max] + b[max]) >= 10)
{
a[max - 1]++;
a[max] = a[max] + b[max] - 10;
}
else a[max] += b[max];
max--;
}
int m = 1;
if (a[0] > 0) m--;
while (m <= k) {
printf("%d", a[m]);
m++;
}
return 0;
}
输入数据: 111 111 输出数据:10 222