大数加法
原理是字符串,设置好进位规则,不复杂
#include
#include
#include
int main()
{
char ags[1001] = { 0 }, bgm[1001] = { 0 }, at4[1002] = { 0 };
int i, j, k;
//for (i = 0; i < 1000; i++)
// ags[i] = bgm[i] = 0;
scanf("%s %s", ags, bgm);
i = strlen(ags);
j = strlen(bgm);
int aisb = i > j ? i : j;
for (k=1001; 1001-k<=aisb ;k--)
{
if (at4[k] == 0)
{
if (i >= 0)
at4[k] += ags[i--];
if (j >= 0)
at4[k] += bgm[j--];
if (at4[k]>'9')
at4[k] -= 48;
}
else
{
if (i >= 0)
at4[k] += ags[i--]-48;
if (j >= 0)
at4[k] += bgm[j--] - 48;
}
if (at4[k] > '9')
{
at4[k] -= 10;
if (k == 0)
exit(123456789);
else if (at4[k - 1] == 0)
at4[k - 1] += 49;
else
at4[k - 1]++;
}
}
for (; k < 1002; k++)
if (at4[k] == 0)
continue;
else
printf("%c", at4[k]);
return 0;
}