前言
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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
一、C语言解答
#include <stdio.h>
void numTurnStr(char ch);
int main()
{
char snum[100], i;
scanf("%s", snum);
for (i = 0; snum[i] != '\0'; i++)
{
numTurnStr(snum[i]);
if (snum[i+1] != '\0')
{
printf(" ");
}
}
return 0;
}
void numTurnStr(char ch)
{
switch (ch)
{
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;
}
}
二、Python解答
numstr = input()
ls = ["ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu", "shi"]
if numstr[0] == '-':
print("fu ", end="")
numstr = numstr[1:]
for i in range(len(numstr)):
print("{}".format(ls[eval(numstr[i])]), end= " " if i<len(numstr)-1 else "")
总结
提示:Python中可以通过在print函数中添加end = " " if 条件 else ""的格式来控制,所有数据输出在一行,中间用空格隔开,并且末尾没有空格。
<表达式1> if <条件> else <表达式2>