#4451: Dev c++ 試都沒問題 可是測資卻WA


shawnlin (strikerAYA)


如題 誰可以幫我看一下

#include <iostream>

#include <cstdlib>

#include <string>

using namespace std;

string wordchange(int);

static string word[]={"零","壹","貳","參","肆","伍","陸","柒","捌","玖","拾"};

int main()

{

    string outs="";

   

    int inputi,tmpi;

    while(cin>>inputi)

    {

      outs="";                

      

     if ((tmpi= (int) (inputi/100000000)) != 0)

      {

       outs=outs + wordchange(tmpi)+"億";

       inputi-=tmpi*100000000; 

      }

     if ((tmpi= (int)(inputi/10000)) != 0)

      {

        outs=outs + wordchange(tmpi)+"萬"; 

         inputi-=tmpi*10000;        

      }

      if (inputi!=0)

         outs=outs + wordchange(inputi);

       if (outs.compare(0,2,word[0])==0) 

       outs.erase(0,2);

      cout << outs<<endl;  

      

    }    

    return 0;

}

 

string wordchange(int parami)

{

  string word2[]={"","仟","佰","拾",""};

  int i,j=1,tmpi;

  string rets="";

  string::iterator it;

  for(i=1000;i>=1;i=i/10)

  {

    tmpi=(int)(parami/i) ;

    if (tmpi==0)

     {

      if ( rets.length()==0 ||(rets.compare(rets.length()-2,2,word[0]) !=0) ) 

         rets=rets+word[0];

     }

    else

     rets=rets+word[tmpi]+word2[j];

    parami=parami-(tmpi*i);

     

   j++;

   }

  if (rets.compare(rets.length()-2,2,word[0]) ==0)

   rets.erase(rets.length()-2,2);

  return rets;