#include<stdio.h>
int main()
{
void pinyin(int);
char a[1000],num_str[10]={0},*temp;
int i,j,sum=0;
printf("get number:");
gets(a);
for(i=0;a[i]!='\0';++i)
{
sum+=a[i]-'0';
}
printf("sum = %d\n",sum);
sprintf(num_str,"%d",sum);/*sprintf()最常见的应用之一莫过于把整数打印到字符串中,如:
sprintf(s, "%d", 123); //把整数123打印成一个字符串保存在s中
sprintf(s, "%8x", 4567); //小写16进制,宽度占8个位置,右对齐*/
temp=num_str;
while(*temp!='\0')
{
pinyin(*temp);
temp++;
if(*temp!='\0')printf(" ");
else printf("\n");
}
return 0;
}
void pinyin(int i)
{
switch(i)
{
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");
}
}
PAT甲级C语言.1002. 写出这个数
最新推荐文章于 2025-01-27 14:55:29 发布
本文提供了一个使用C语言实现的程序示例,该程序能够接收用户输入的一串数字字符,计算这些数字的总和,并将总和的每个数字转换成对应的中文拼音发音进行输出。文中展示了如何通过循环遍历字符串、累加数值、格式化输出以及利用switch-case结构实现不同数字到拼音的映射。
686

被折叠的 条评论
为什么被折叠?



