题目原型:
![](https://img-blog.csdnimg.cn/img_convert/8f19cde2bcb193531f6052435588d5a3.png)
自己的体会
第一次做的非常复杂,还用上了switch case。不过学习,代码也写的跟简洁了;
=>对于拼音的存储,因为每个拼音都相当于一个字符串,而这么多字符串却不能用一个字符串数组赋值初始化,但当我学习了结构体后,这个问题也就解决了。
#include<stdio.h>
struct pinyin//结构体存储拼音
{
char p[10];
};
int main()
{
char a[100];
int i=0;
scanf("%s", a);
struct pinyin num[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
if (a[0] == '-')
{
printf("fu "); i++;//让负数从第二个开始扫描
}
for (i ; a[i] != '\0'; i++)
{
printf("%s", num[a[i]-'0'].p);
if (a[i + 1] != '\0')
{
printf(" ");//最后一个后面无空格
}
}
return 0;
}