消息关闭
    暂无新消息!
题目:www.patest.cn/contests/pat-b-practise/1002
C代码如下
#include<stdio.h>
#include<string.h>
void pinyin(int n);
int main(void)
{
  char str[100];
  scanf("%s",str);
  int i=0,sum=0;
  while(str[i] != '\0')  //各位数字之和
    sum += str[i++] -'0';
  int n[3];
  int j=0;
  while(sum){
    n[j++] = sum%10;
    sum = sum/10;
  }
  for(j=j-1;j>0;j--){
          pinyin(n[j]);
          printf(" ");
      }
  pinyin(n[0]);
  return 0;
  }
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个回答

︿ 1
#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;
    }
}
*/

改了一下你的代码;
能用英文则用英文,不建议使用汉语拼音写代码。这不是崇洋媚外,而是编程的常识和原则吧。