念整数( MOOC 翁凯 c语言源码)

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

fu er san si yi

输入格式:

一个整数,范围是[-100000,100000]。

输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:

-30

输出样例:

fu san ling

源代码:

#include
#include

int main(){
    int a,b;
    int count = 0;
    scanf("%d",&a);
    int temp = a;
    if (a == 0){
        printf("ling");
    }
    if(a<0){
        printf("fu ");
        temp = -1 * a;
    }
    //判断输入的数为几位数
    while(a != 0){
        a = a / 10;
        count++;        
    }
    while(count > 0){
        int c = pow(10,count-1);
        b = temp / c;
        switch (b) {
                        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;
                        case 0:
                                printf("ling");
                            break;
                            
                        default:
                            printf("输入有误,请重新输入!");
                            break;
                    }
    
    
        temp = temp % c;
        count--;
        //每一位数字的拼音之间以空格分隔,末尾没有空格
        if(count>0){
            printf(" ");
        }
    }
    return 0;
}

你可能感兴趣的:(C语言学习,c语言)