#2299: 我也一送出就WA


azreal (NewC)


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

雖然不是寫的很好但是為了解題小弟也找了很多資料(沒書看只能靠google)

自己找不到問題只好請教各位前輩,用Dev-C++4.9.9.2版,程式碼如下:

#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{ string s ;
  while(cin >>s)
       {
        int a=0,j=1,i=0,b=0;
        int size=s.size(),z=atoi(s.c_str());
if(z!=0&&z>=0){
        for(string::size_type index = 0 ; index != s.size() ; index++)
           {
           if(isdigit(s[index]))
              {
              a++;
              } 
            }
if(a<11&&a>0)
 {for(i=0;i<=a;i++)
     {
      j=s[i]-48;
      switch(j)
           {
            case 0:cout <<"零";break;
            case 1:cout <<"壹";break;
            case 2:cout <<"貳";break;
            case 3:cout <<"參";break;
            case 4:cout <<"肆";break;
            case 5:cout <<"伍";break;
            case 6:cout <<"陸";break;
            case 7:cout <<"柒";break;
            case 8:cout <<"捌";break;
            case 9:cout <<"玖";break;
           }   
      if(a>=1)
       {
        b=a-i;
        switch(b)
             {
              case 2:cout<<"拾";break;
              case 3:cout<<"佰";break;
              case 4:cout<<"仟";break;
              case 5:cout<<"萬";break;
              case 6:cout<<"拾";break;
              case 7:cout<<"佰";break;
              case 8:cout<<"仟";break;
              case 9:cout<<"億";break;
              case 10:cout<<"拾";break;
             }
       }
     }
}
 }
        }  
return 0;
}

#2302: Re:我也一送出就WA


david942j (文旋)


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

雖然不是寫的很好但是為了解題小弟也找了很多資料(沒書看只能靠google)

自己找不到問題只好請教各位前輩,用Dev-C++4.9.9.2版,程式碼如下:

#include
#include
using namespace std;
int main()
{ string s ;
  while(cin >>s)
       {
        int a=0,j=1,i=0,b=0;
        int size=s.size(),z=atoi(s.c_str());
if(z!=0&&z>=0){
        for(string::size_type index = 0 ; index != s.size() ; index++)
           {
           if(isdigit(s[index]))
              {
              a++;
              } 
            }
if(a<11&&a>0)
 {for(i=0;i<=a;i++)
     {
      j=s[i]-48;
      switch(j)
           {
            case 0:cout <<"零";break;
            case 1:cout <<"壹";break;
            case 2:cout <<"貳";break;
            case 3:cout <<"參";break;
            case 4:cout <<"肆";break;
            case 5:cout <<"伍";break;
            case 6:cout <<"陸";break;
            case 7:cout <<"柒";break;
            case 8:cout <<"捌";break;
            case 9:cout <<"玖";break;
           }   
      if(a>=1)
       {
        b=a-i;
        switch(b)
             {
              case 2:cout<<"拾";break;
              case 3:cout<<"佰";break;
              case 4:cout<<"仟";break;
              case 5:cout<<"萬";break;
              case 6:cout<<"拾";break;
              case 7:cout<<"佰";break;
              case 8:cout<<"仟";break;
              case 9:cout<<"億";break;
              case 10:cout<<"拾";break;
             }
       }
     }
}
 }
        }  
return 0;
}

沒換行的問題
#2304: Re:我也一送出就WA


azreal (NewC)


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

雖然不是寫的很好但是為了解題小弟也找了很多資料(沒書看只能靠google)

自己找不到問題只好請教各位前輩,用Dev-C++4.9.9.2版,程式碼如下:

#include
#include
using namespace std;
int main()
{ string s ;
  while(cin >>s)
       {
        int a=0,j=1,i=0,b=0;
        int size=s.size(),z=atoi(s.c_str());
if(z!=0&&z>=0){
        for(string::size_type index = 0 ; index != s.size() ; index++)
           {
           if(isdigit(s[index]))
              {
              a++;
              } 
            }
if(a<11&&a>0)
 {for(i=0;i<=a;i++)
     {
      j=s[i]-48;
      switch(j)
           {
            case 0:cout <<"零";break;
            case 1:cout <<"壹";break;
            case 2:cout <<"貳";break;
            case 3:cout <<"參";break;
            case 4:cout <<"肆";break;
            case 5:cout <<"伍";break;
            case 6:cout <<"陸";break;
            case 7:cout <<"柒";break;
            case 8:cout <<"捌";break;
            case 9:cout <<"玖";break;
           }   
      if(a>=1)
       {
        b=a-i;
        switch(b)
             {
              case 2:cout<<"拾";break;
              case 3:cout<<"佰";break;
              case 4:cout<<"仟";break;
              case 5:cout<<"萬";break;
              case 6:cout<<"拾";break;
              case 7:cout<<"佰";break;
              case 8:cout<<"仟";break;
              case 9:cout<<"億";break;
              case 10:cout<<"拾";break;
             }
       }
     }
}
 }
        }  
return 0;
}

沒換行的問題

多謝解答,小弟以後會記得,謝謝^^