每日一言
跨越光年,归来任是你。 --臆影
题目
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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
实现逻辑:
-
首先定义一个字符数组
arr
和一个字符变量i
。数组arr
用于存储输入的字符串,变量i
用于循环遍历字符串中的每个字符。 -
使用
gets()
函数从标准输入中获取输入的字符串,并将其存储到数组arr
中。 -
使用
strlen()
函数获取字符串的长度,并将其存储到变量sz
中。 -
使用
for
循环遍历字符串中的每个字符,其中i
从0到字符串长度sz-1
。 -
在循环中,首先判断如果
i
不是第一个字符且不是最后一个字符,则输出一个空格。 -
使用
switch
语句根据当前字符的值进行判断,并输出对应的中文数字:- 当字符为’-',输出"fu";
- 当字符为’0’,输出"ling";
- 当字符为’1’,输出"yi";
- 当字符为’2’,输出"er";
- 当字符为’3’,输出"san";
- 当字符为’4’,输出"si";
- 当字符为’5’,输出"wu";
- 当字符为’6’,输出"liu";
- 当字符为’7’,输出"qi";
- 当字符为’8’,输出"ba";
- 当字符为’9’,输出"jiu"。
-
循环结束后,返回0,表示程序正常结束。
代码
#include<stdio.h>
#include<string.h>
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;
}
结语
请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!
都看到这里啦!真棒(*^▽^*)
可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家
编程小白写作,如有纰漏或错误,欢迎指正