C语言PTA1002部分正确,那里有疏漏呢?

img

img

#include<stdio.h>

int main()
{
    int sum=0;
    char ch;
    int i,j,k;
    const char *num[]={"yi","er","san","si","wu","liu","qi","ba","jiu","ling"};
    while((ch=getchar())!='\n')
    {
        sum = sum+ch-48;
    }
    if(sum/1000)
    {
        printf("%s ",num[sum/1000-1]);
        sum = sum%1000;
        printf("%s ",num[sum/100-1]);
        sum = sum%100;
        printf("%s ",num[sum/10-1]);
        sum = sum%10;
        printf("%s",num[sum-1]);
    }    
    else if(sum/100)
    {
        printf("%s ",num[sum/100-1]);
        sum = sum%100;
        printf("%s ",num[sum/10-1]);
        sum = sum%10;
        printf("%s",num[sum-1]);
    }
    else if(sum/10)
    {
        printf("%s ",num[sum/10-1]);
        sum = sum%10;
        printf("%s",num[sum-1]);
    }
    else if(sum/1)
    {
        printf("%s",num[sum-1]);
    } 
    
    return 0;
}

hxd你看看当你的sum=101-109的时候,你那个0是输出不了的