Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150705
  • 博文数量: 48
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-18 14:46
个人简介

多多学习,多多交流

文章分类
文章存档

2016年(1)

2015年(23)

2014年(24)

我的朋友

分类: C/C++

2014-04-19 21:40:14

    hdoj 1013的题目,当初选这道题是因为把它分到了简单题目这一类,不过还是提交了三次才正确,囧。。。,需要注意的是这个题目的整数可能会很大,所以先得用字符串处理,题目连接:
    源代码如下:
    #include
    #include

    int f(int n)
    {
        int temp;
        int sum = 0;

        while(n)
        {
            temp = n % 10;
            sum += temp;
            n = n / 10;
        }

        if(sum >= 10)
        {
            f(sum);
       }
        else
        {
            return sum;
        }

    }

    int main(int argc,char *argv[])
    {
        char str[1000];
        int i,j,sum;

        while(1)
        {
            sum = 0;
            memset(str,0,strlen(str));

            scanf("%s",str);

            if(str[0] == '0')
            {
                break;
            }
 
            for(i = 0;i <= (int)(strlen(str) - 1);i++)
            {
                sum += (str[i] - '0');
            }

            printf("%d\n",f(sum));
        }

        return 0;
    }


阅读(462) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~