解题思路:求出最长字符串的长度,相加时只需让相加之后的答案位数多一位
因为相同长度的数字相加最大只会向前进一位,如9+9=18,99+99=198.
最后只需判断第一位是否为,零为0不打印,反之,打印。
注意事项:
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
char arr[201] = { 0 }, ar[201] = { 0 };
int a[201] = { 0 }, b[201] = { 0 };
scanf("%s", arr);
scanf("%s", ar);
int len = strlen(arr) > strlen(ar) ? strlen(arr) : strlen(ar);
for (int i = strlen(arr) - 1, j = len; i >= 0; i--, j--)
a[j] = arr[i] - 48;
for (int i = strlen(ar) - 1, j = len; i >= 0; i--, j--)
b[j] = ar[i] - 48;
for (int i = len; i >= 0; i--)
a[i] += b[i];
for (int i = len-1; i >= 0; i--)
{
a[i] += a[i + 1] / 10;
a[i + 1] %= 10;
}
if (a[0])
printf("%d", a[0]);
for (int i = 1; i <= len; i++)
printf("%d", a[i]);
return 0;
}
0.0分
0 人评分