zrq495
www.zrq495.com

大数的第一道题,比较简单,仔细一点就行了。

代码如下:

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 int main()
 5 {
 6     int i, s[10000], sum[10000]={0}, n, j, k, flag;
 7     char a[10000];
 8     gets(a);
 9     while(a[0] != '0')
10     {
11         n=strlen(a);
12         memset(s,0,sizeof(s));
13         for (i=0; i<n;i++)
14         {
15             s[i]=a[n-1-i]-'0';
16         }
17         for (i=0, j=0; i<n; i++)
18         {
19             if (sum[j]+s[i] <10)
20                 sum[j]+=s[i];
21             else
22             {
23                 sum[j]=(sum[j]+s[i])%10;
24                 sum[j+1]++;
25             }
26             j++;
27             for (k=j; sum[k] >= 10; k++)
28             {
29                 sum[k]=sum[k]%10;
30                 sum[k+1]++;
31             }
32         }
33         gets(a);
34     }
35     flag=0;
36     for (i=9999; i>=0; i--)
37     {
38         if (sum[i] || flag == 1)
39         {
40             flag=1;
41             printf("%d", sum[i]);
42         }
43     }
44     printf("\n");
45     return 0;
46 }
posted on 2012-06-03 15:46  zrq495  阅读(146)  评论(0编辑  收藏  举报