1002 写出这个数 (20 分)
C语言实现,如果在一些测试项目中运行超时的话就可以查看数组的范围,适当的扩大或者缩小就可以正确的通过程序.
#include<stdio.h>
#include<string.h>
void pinyin(int m)
{
switch(m)
{
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;
}
}
int main()
{
char a[1000];
gets(a);
int len=strlen(a);
int sum=0,i=0;
while(a[i]!='\0')
{
sum+=(a[i]-'0');
i++;
}
if(sum==0)
{
printf("ling");
return 0;
}
int b[10];
int j=0;
while(sum!=0)
{
b[j]=sum%10;
sum/=10;
j++;
}
for(j=j-1;j>0;j--)
{
pinyin(b[j]);
printf(" ");
}
pinyin(b[0]);
return 0;
}