7-25 念数字 分数 15

每日一言

跨越光年,归来任是你。 --臆影


题目

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

输入格式:

输入在一行中给出一个整数,如:1234。

提示:整数包括负数、零和正数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如
yi er san si。

输入样例:

-600

输出样例:

fu liu ling ling


实现逻辑:

  1. 首先定义一个字符数组arr和一个字符变量i。数组arr用于存储输入的字符串,变量i用于循环遍历字符串中的每个字符。

  2. 使用gets()函数从标准输入中获取输入的字符串,并将其存储到数组arr中。

  3. 使用strlen()函数获取字符串的长度,并将其存储到变量sz中。

  4. 使用for循环遍历字符串中的每个字符,其中i从0到字符串长度sz-1

  5. 在循环中,首先判断如果i不是第一个字符且不是最后一个字符,则输出一个空格。

  6. 使用switch语句根据当前字符的值进行判断,并输出对应的中文数字:

    • 当字符为’-',输出"fu";
    • 当字符为’0’,输出"ling";
    • 当字符为’1’,输出"yi";
    • 当字符为’2’,输出"er";
    • 当字符为’3’,输出"san";
    • 当字符为’4’,输出"si";
    • 当字符为’5’,输出"wu";
    • 当字符为’6’,输出"liu";
    • 当字符为’7’,输出"qi";
    • 当字符为’8’,输出"ba";
    • 当字符为’9’,输出"jiu"。
  7. 循环结束后,返回0,表示程序正常结束。

代码

#include
#include
int main()
{
    char arr[100];
    char i=0;
    gets(arr);
    int sz=strlen(arr);
    for(i=0;i<sz;i++)
    {
        if(i!=0&&i!=sz)
            printf(" ");
        switch(arr[i])
        {
            case '-':printf("fu");break;
            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;
        }
    }
    return 0;
}

结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


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