ZOJ Problem Set

水题记录:

注:此题题目并没有限定数值的大小,所以要用字符串进行处理

#include <stdio.h>
#include <string.h>

int main()
{
    char n[1001];
    while(scanf("%s",n)!=EOF&&strcmp(n,"0"))
    {
        int len=strlen(n);
        int sum=0;
        for(int i=0;i<len;i++)
            sum+=n[i]-'0';
        if(sum<10)
            printf("%d
",sum);
        else
        {
            while(sum>=10)
            {
                int tmp=0;
                while(sum)
                {
                    tmp+=sum%10;
                    sum/=10;
                }
                sum=tmp;
            }
            printf("%d
",sum);
        }
    }

    return 0;
}
原文地址:https://www.cnblogs.com/xlturing/p/3318873.html