zju1115数字根Digital Root?

这个是在网上搜的,可惜提交也是WA,而且我还看不懂

#include

int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int i, n;
    char digit[1023];

    while (1)
  {
        gets(digit);
        for (n = 0, i = 0; digit[i] != '/0'; i ++)
            n += digit[i] - 48;
        if (!n) break;
        while (n > 9)
       {
            for (i = 0; n; n /= 10) i += n % 10;
            n = i;
        }
        printf("%d/n", n);
    }

    return 0;
}

 

     这个是我自己写的,竟然是个Compilation Error,错哪儿?

#include
#include
#define MAX 80

//取余法分离,如果数据量太大,肯定会超时。字符串分离较省时
//对于32位无符号正整数,最大9999999999,第一次求所有位和是90,因此第一轮求和是关键

int n;

char s[MAX];

int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int i;
    int sum;
    while(scanf("%s",s)==1)
    {
          sum=0;
           if(s[0]=='0')
           break;
           else
           {
             for(i=0;i
             {
                  switch(s[i])
                  {
                      case'1':
                              sum+=1;
                              break;
                      case'2':
                              sum+=2;
                              break;
                      case'3':
                              sum+=3;
                              break;
                      case'4':
                              sum+=4;
                              break;
                      case'5':
                              sum+=5;
                              break;
                      case'6':
                              sum+=6;
                              break;
                      case'7':
                              sum+=7;
                              break;
                      case'8':
                              sum+=8;
                              break;
                      case'9':      
                              sum+=9;
                              break;     
                  }
             } 
              while(1==1)
                  {
                         if(sum<10)
                         {
                         printf("%d/n",sum);
                         break;
                         }
                         else
                             sum=sum/10+sum%10;
                  }
           }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值