大数操作: #include<string.h> #include<stdio.h> int sum[105][1010]; char a1[1000],b1[1000],c1[1000]; void tran(char a[],int k) { int l=strlen(a); int i=0,j; for(j=l-1;j>=0;j--) { sum[k][i]=a[j]-'0'; i++; } } void add(int t,int k) { int i,j; for(i=0;i<1005;i++) sum[k][i]+=sum[t][i]; for(j=0;j<1005;j++) if(sum[k][j]>9) { sum[k][j+1]+=sum[k][j]/10; sum[k][j]%=10; } } void solve() { int i,j; for(i=3;i<=99;i++) { add(i-3,i); add(i-2,i); add(i-1,i); } } int main() { int i,j; while(scanf("%s%s%s",&a1,&b1,&c1)!=EOF) { memset(sum,0,sizeof(sum)); tran(a1,0);tran(b1,1);tran(c1,2); solve(); j=1005; while(sum[99][j]==0) j--; for(i=j;i>=0;i--) printf("%d",sum[99][i]); printf("/n"); } }