美文网首页
【第五周作业02念整数】程序设计入门——C语言(翁恺)

【第五周作业02念整数】程序设计入门——C语言(翁恺)

作者: flamingocc | 来源:发表于2022-03-28 18:25 被阅读0次

    念整数(5分)

    题目内容:

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

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

    输入格式:
    一个整数,范围是[-100000,100000]。
    输出格式
    表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

    输入样例
    -30
    输出样例
    fu san ling

    #include <stdio.h>
    int main()
    {
        int A,x;
        scanf("%d", &x);
        if (x<0)            //小于零,取负且打印“fu ”
        {
            x = -x;
            printf("fu ");
        }
    
        int mask = 1;
        int t = x;          //不影响到后面do-while循环
        while (t>9)         //计算x对应的位数mask。 eg:12345对应10000
        {
            t /= 10;
            mask *= 10;
        }
        
        do{    
            A = x/mask;
            switch (A)
            {
                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;
            }
            if (mask>1)     //注意这里是mask,而不是x;
            {
                printf(" ");
            }
            
            x %= mask;
            mask /= 10;
        }while(mask>0);     //注意这里是mask,而不是x;
        return 0;
    }
    

    取每个位置上的数,用到下面的算法:

    13425/10000 -> 1        //第一位
    13425%10000 -> 3425
    10000/10 -> 1000
    3425/1000 -> 3          //第二位
    3425%1000 -> 425
    1000/10 -> 100
    425/100 -> 4            //第三位
    425%100 -> 25
    100/10 -> 10
    25/10 -> 2              //第四位
    25%10 -> 5
    10/10 -> 1
    5/1 -> 5                //第五位
    5%1 -> 0
    1/10 ->0
    

    相关文章

      网友评论

          本文标题:【第五周作业02念整数】程序设计入门——C语言(翁恺)

          本文链接:https://www.haomeiwen.com/subject/tooyjrtx.html