user-0 提问: PAT 乙级 1002 写出这个数，第四个测试点过不去

回复:
user: user-1
content: 想请问一下。你这个程序运行时如果直接键入0的话会得到ling吗？

user: user-0
content: 引用 1 楼 fight_in_dl 的回复:没有case 2分支。谢谢，自己找的好痛苦

user: user-0
content: 引用 2 楼 cfjtaishan 的回复:#include<stdio.h> #include<string.h>  void pinyin(int n);  int main(void) {     int i=0,sum=0;     int n[3];     int j=0;     char str[100];      scanf("%s",str);      while(str[i] != '\0')         sum += str[i++] -'0';      printf("sum = %d\n", sum);     while(sum){         n[j++] = sum%10;         sum = sum/10;     }     for(j=j-1;j>=0;j--){   /*直接让j>=0即可*/         pinyin(n[j]);         printf(" ");     }     printf("\n");      return 0; }  void pinyin(int n) {     switch(n){         case 0:printf("zero");break;         case 1:printf("one");break;         case 2:printf("two");break;         case 3:printf("three");break;         case 4:printf("four");break;         case 5:printf("five");break;         case 6:printf("six");break;         case 7:printf("seven");break;         case 8:printf("eight");break;         case 9:printf("nine");break;     } }  /* void pinyin(int n) {     switch(n){         case 0:printf("ling");break;         case 1:printf("yi");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;     } } */ 改了一下你的代码； 能用英文则用英文，不建议使用汉语拼音写代码。这不是崇洋媚外，而是编程的常识和原则吧。 引用 2 楼 cfjtaishan 的回复:#include<stdio.h> #include<string.h>  void pinyin(int n);  int main(void) {     int i=0,sum=0;     int n[3];     int j=0;     char str[100];      scanf("%s",str);      while(str[i] != '\0')         sum += str[i++] -'0';      printf("sum = %d\n", sum);     while(sum){         n[j++] = sum%10;         sum = sum/10;     }     for(j=j-1;j>=0;j--){   /*直接让j>=0即可*/         pinyin(n[j]);         printf(" ");     }     printf("\n");      return 0; }  void pinyin(int n) {     switch(n){         case 0:printf("zero");break;         case 1:printf("one");break;         case 2:printf("two");break;         case 3:printf("three");break;         case 4:printf("four");break;         case 5:printf("five");break;         case 6:printf("six");break;         case 7:printf("seven");break;         case 8:printf("eight");break;         case 9:printf("nine");break;     } }  /* void pinyin(int n) {     switch(n){         case 0:printf("ling");break;         case 1:printf("yi");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;     } } */ 改了一下你的代码； 能用英文则用英文，不建议使用汉语拼音写代码。这不是崇洋媚外，而是编程的常识和原则吧。 谢谢回答，自己找怎么都找不到 用拼音是因为题目要求，需要控制输出格式

user: user-2
content: #include<stdio.h> #include<string.h>  void pinyin(int n);  int main(void) {     int i=0,sum=0;     int n[3];     int j=0;     char str[100];      scanf("%s",str);      while(str[i] != '\0')         sum += str[i++] -'0';      printf("sum = %d\n", sum);     while(sum){         n[j++] = sum%10;         sum = sum/10;     }     for(j=j-1;j>=0;j--){   /*直接让j>=0即可*/         pinyin(n[j]);         printf(" ");     }     printf("\n");      return 0; }  void pinyin(int n) {     switch(n){         case 0:printf("zero");break;         case 1:printf("one");break;         case 2:printf("two");break;         case 3:printf("three");break;         case 4:printf("four");break;         case 5:printf("five");break;         case 6:printf("six");break;         case 7:printf("seven");break;         case 8:printf("eight");break;         case 9:printf("nine");break;     } }  /* void pinyin(int n) {     switch(n){         case 0:printf("ling");break;         case 1:printf("yi");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;     } } */ 改了一下你的代码； 能用英文则用英文，不建议使用汉语拼音写代码。这不是崇洋媚外，而是编程的常识和原则吧。

user: user-3
content: 没有case 2分支。