PAT (Basic Level) Practice 1002 写出这个数 显示部分正确

问题描述:

 

#include<stdio.h>
#include<string.h>
#define N  100
int main(){
    char b[N];
    int sum=0,num=0,i;
    scanf("%s",b);
    for(i=0;b[i]!='\0';i++){
        sum+=(b[i]-'0');
    }
        
    while(sum>0){
         i=1;
        num=sum;
        while(num>=10){
            i=i*10;
            num=num/10;
        }
        
         switch(num){
                case 0:printf("ling");break;
                case 1:printf("yi");break;
                case 2:printf("er");break;
                case 3:printf("san");break;
                case 4:printf("si");break;
                case 5:printf("wu");break;
                case 6:printf("liu");break;
                case 7:printf("qi");break;
                case 8:printf("ba");break;
                case 9:printf("jiu");break;
        }
        if(sum<10) break;
        else printf(" ");
        sum=sum%i;
       
    }
    
    return 0;
}

 

求问哪里错了?

 

答案错误,没提示什么错误?而且你要实现什么,不贴出来怎么看

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632