| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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 
 
下面是我的代码结果不清楚,说格式错误,答案错误 
- #include <stdio.h>
 
 - #include <stdlib.h>
 
 - #include <math.h>
 
 - int main(void)
 
 - {
 
  
-     int a,r;
 
 -     scanf("%d",&a);
 
 -     int i;
 
 -     if(a<0)
 
 -     {
 
 -         printf("fu ");
 
 -         a = -a;
 
 -     }
 
 -     for(i=0;;i++)
 
 -     {
 
 -         if(pow(10,i)>a)
 
 -         {
 
 -             //printf("%d位数\n",i);//判断几位数
 
 -             break;
 
 -         }
 
 -        
 
 -     }
 
 -     
 
  
-     while(i>0)
 
 -     {
 
 -         r = a/pow(10,i-1);
 
 -         //d = a/pow(10,i-1);
 
 -         a = a - r*pow(10,i-1);
 
 -         i--;
 
 -         switch(r)
 
 -         {
 
 -             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("qiu");break;
 
 -             case 0:printf("ling");break;
 
 -         }
 
 -         printf("  ");
 
 -     }
 
  
 
-     system("pause");
 
 -     return 0;
 
 - }
 
  复制代码 
意思差不多 
- #include <stdio.h>
 
 - #include <stdlib.h>
 
  
- int main(void)
 
 - {
 
 -         char *py[10] = {"ling", "yi","er","san","si","wu","liu","qi","ba","qiu"};
 
 -     char a[100] = {'\0'};
 
 -         int i, idx;
 
  
-     gets(a);
 
 -     
 
 -         i=0;
 
 -     while( a[i]!='\0' )
 
 -     {
 
 -                 if( a[i]=='-' )
 
 -                 {
 
 -                         printf("%s ", "fu");
 
 -                         i++;
 
 -                         continue;
 
 -                 }
 
  
-                 idx = (int)a[i]-48;
 
 -                 if(a[i+1] == '\0')
 
 -                         printf("%s", py[idx]);
 
 -                 else
 
 -                         printf("%s ", py[idx]);
 
 -                 i++;
 
 -     }
 
  
 
-     system("pause");
 
 -     return 0;
 
 - }
 
  复制代码 
 
 
 |   
 
 
 
 |