C入门——念整数

题目内容:

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

如输入1234,则输出:

yi er san si

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

fu er san si yi

输入格式:

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

输出格式:

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

输入样例:

-30

输出样例:

fu san ling

时间限制:500ms内存限制:32000kb

#include <stdio.h>
int main(){
    int m;
//  int dm=0;
    scanf("%d",&m);
    int mask = 1;

    if(m < 0){
        printf("fu ");
        m = -m;
    }
    int t = m;
    while(t > 9){
        t /= 10;
        mask *= 10;
    }
//  int mask = pow(10, cnt-1);
if( m>0 ){
    do{
        int d = m / mask;
            if(d==0){
                printf("ling");
            }
            else if(d==1){
                printf("yi");
            }
            else if(d==2){
                printf("er");
            }
            else if(d==3){
                printf("san");
            }
            else if(d==4){
                printf("si");
            }
            else if(d==5){
                printf("wu");
            }
            else if(d==6){
                printf("liu");
            }
            else if(d==7){
                printf("qi");
            }
            else if(d==8){
                printf("ba");
            }
            else if(d==9){
                printf("jiu");
            }
            if(mask > 9){
                printf(" ");
        }
        m %= mask;
        mask /= 10;
    } while( mask>0 );
}else{
    printf("ling");
}
    return 0;
}

猜你喜欢

转载自blog.csdn.net/SmiledrinkCat/article/details/78936607
今日推荐