PAT乙级1002(c语言)
#include <stdio.h>
#include <string.h>
int main()
{
//建立10个最多包含5个字符的空间,存放中文拼音
const char a[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
//初始化s后续用其存和
int s=0;
//建一个可以放101位的字符数组,存放不超过10^100的数字
char b[101];
//sz用来存放s的每一位
char sz[4];
//获取
gets(b);
//将每一位数字加起来
for(int i=0;i<strlen(b);i++)
{
//用减去0的ASCII码或减去‘0’(如*1)都可以得到字符数组中的数字值
s+=b[i]-48;
}
sprintf(sz,"%d",s);//sprintf( char *buffer, const char *format [, argument] );把s转成字符串保存在sz中
//打印中文拼音
for(int i=0;i<=strlen(sz);i++)
{
//判定是否加空格
if (i!=0 && i!=strlen(sz))
printf(" ");
if(sz[i]>='0' && sz[i]<='9')
printf("%s",a[sz[i]-'0']);//*1
}
}