posts - 99,  comments - 8,  trackbacks - 0
 1
 2#include<stdio.h>
 3#include<stdlib.h>
 4#include<string.h>
 5#define MAXSIZE 101
 6int main()
 7{
 8    char line[MAXSIZE];
 9    int sum[MAXSIZE + 1];
10    
11    memset (sum, 0sizeof(sum));
12   
13    while (  scanf ("%s",line) && strcmp (line, "0") )  //求和终止条件 
14    {
15    //处理负数情况 
16      while ( line[0== '-'
17             return 0;
18      
19      //将字符数转化为数字 ,并且相加存到sum【】数组中 
20      int j = strlen(line);
21      for (int i = j - 1; i >= 0; i--)
22      {
23          sum[j-1-i] += (line[i] - '0');
24      }
 
25    }

26    
27    //对sum【】进行进位的处理 
28    for ( int i = 0; i <= MAXSIZE; i++ )
29    {
30        if ( sum[i] >= 10 )
31        {
32             sum[i+1+= (sum[i] / 10);
33             sum[i] = sum[i] % 10;
34        }

35    }
 
36    /*int c = 0;
37    for (int i = 0; i < MAXSIZE; i++)
38    {
39        c += sum[i];
40        sum[i] = c % 10;
41        c = c / 10;
42    }
43    
44    for (int i = MAXSIZE; i >= 0; i--)
45    {
46        if (sum[i] != 0)
47        printf ("%d", sum[i]);
48    }*/

49    
50    //进行输出处理
51    bool target = false;
52    for ( int i = MAXSIZE; i >= 0; i--)
53    {
54        if (target)
55           printf ("%d", sum[i]);
56           else if ( sum[i] )
57           {
58                printf ("%d", sum[i]);
59                target = true;
60           }

61    }
 
62    printf ("\n");
63    system("pause");
64    return 0;
65}
 
66
posted on 2010-08-09 13:12 雪黛依梦 阅读(567) 评论(0)  编辑 收藏 引用 所属分类: 大数

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜