这个破题因为数组的边界问题花了我很长时间,也怪自己没有投入里面去
大数加法:

大数加法
1
#include<stdio.h>
2
#include<cstring>
3
char ans[10005];
4
char a[105];
5
int max=0;
6
void add(char *ans,char *a)
7

{
8
int n=strlen(a),i,j,t,s; //a 反向
9
for(i=0,j=n-1;i<j;i++,j--)
10
{
11
t=a[i]; a[i]=a[j]; a[j]=t;
12
}
13
for(i=0,t=0;i<n;i++)
14
{
15
s=ans[i]-'0'+a[i]-'0'+t;
16
ans[i]=s%10+'0';
17
t=s/10;
18
}
19
while(t)
20
{
21
s=ans[i]-'0'+t;
22
ans[i]=s%10+'0';
23
t=s/10;
24
i++;
25
}
26
if(i>max) max=i;
27
}
28
int main()
29

{
30
int n,i;
31
memset(ans,'0',sizeof(ans));
32
while(scanf("%s",a),strcmp(a,"0"))
33
{
34
add(ans,a);
35
}
36
37
n=strlen(ans);
38
for(i=max-1;i>=0;i--)
39
{
40
putchar(ans[i]);
41
}
42
putchar('\n');
43
scanf("%d",&n);
44
return 0;
45
}