#4979: (c語言)測試沒錯,但卻WA 求高手解惑


eee9513571 (問天)

學校 : 康寧大學
編號 : 18107
來源 : [180.217.233.208]
最後登入時間 :
2018-11-13 12:07:36
a008. 中文大寫數字 -- admin | From: [111.70.19.136] | 發表日期 : 2011-03-17 01:23

#include<stdio.h>
void main(void)
{
    int a,b,c[10],i,j=0,k=1;
 
 while(scanf("%d",&a)!=EOF)
 {
  if(a==0) printf("零");
  for(i=1;a>=1;i++)
  {
          c[i]=a%10;
    if(a>=10)
    a=(a-a%10)/10;
    else if(a<10)
    {a=0;}
   
        }
 i--;
      for(i;i>0;i--)
   { 
    
    
           if(c[i]==0) j++;
     if(j>0)
     {
      if(c[1]==0 && c[2]==0 && c[3]==0 || c[5]==0 && c[6]==0 && c[6]==0 ){}
      else  if(c[1]==0 && c[2]==0 || c[5]==0 && c[6]==0){}
      else
      {
     if(j==k && i!=1 || j==k && i!=5)
      printf("零");
      }
     
     }
    switch(c[i])
 
    {
 case 1:printf("壹"); break;
 case 2:printf("貳"); break;
 case 3:printf("參"); break;
 case 4:printf("肆"); break;
 case 5:printf("伍"); break;
 case 6:printf("陸"); break;
 case 7:printf("柒"); break;
 case 8:printf("捌"); break;
 case 9:printf("玖"); break;
 default:break;
 }
    if(i==9) printf("億");
    else if(i==5 )
    {
     if(c[5]==0 && c[6]==0 && c[7]==0 && c[8]==0){}
     else
     printf("萬");
    }

    if(c[i]==0){}
    else
     switch((i-1)%4)
     {
     case 1:printf("拾"); break;
     case 2:printf("佰"); break;
     case 3:printf("仟"); break;
     default:break;
     }
      
    }
       
  printf("\n");
 }
  
 
}

這是上傳結果 

與正確輸出不相符(line:2)
您的答案為: 零零壹億零肆仟零柒佰零肆拾零捌萬零參仟零陸佰零肆 ...略
正確答案為: 貳拾壹億肆仟柒佰肆拾捌萬參仟陸佰肆拾柒

 

 

 

 

 
ZeroJudge Forum