Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1574790
  • 博文数量: 399
  • 博客积分: 8508
  • 博客等级: 中将
  • 技术积分: 5302
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-14 09:28
个人简介

能力强的人善于解决问题,有智慧的人善于绕过问题。 区别很微妙,小心谨慎做后者。

文章分类

全部博文(399)

文章存档

2018年(3)

2017年(1)

2016年(1)

2015年(69)

2013年(14)

2012年(17)

2011年(12)

2010年(189)

2009年(93)

分类: LINUX

2010-01-28 15:59:01

#include
#include
//因为每行不超过100个字符,所以和数组大小取101足够,
#define size 101    
char s[size];
int sum[size];
int main()
{
    int i,j,r;
    while(gets(s),strcmp(s,"0") )        //依次读入大数,直到遇到0
    {
        r=0;
        for(i=(j=strlen(s)-1); i>=0;--i)
        {
            sum[j-i] += (s[i]-'0')+r;        //先不考虑进位
            r=sum[j-i]>9?1:0;
            if(r>0)
            sum[j-i] -= 10;
        }
        sum[j+1]+=r;
    }
    //输出
    j=100;
    while(!sum[j])
        j--;
    if(j<0)
        printf("0");
    for(i=j;i>=0;i--)    //将数组每位依次输出
        printf("%d",sum[i]);
}
阅读(830) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~