噢感謝兩位回答 和舉出我108000和100800之類的會掛@@
現在我修正過了 在最下面
不過問題識
1. 我現在大概只會基本的function 迴圈 array 以上兩位的看不太懂說@@?
2.改過之後第七測資過了 現在是死第八個
100200應該要"十萬零兩佰" 我沒有那個零 Orz
#include <iostream>
#include <math.h>
using namespace std;
int a,b,c,d;
string g[11]="零";
int main()
{
while(cin>>a)
{
b=0;
while(a!=0)
{
c=a%10;
switch(c)
{
case 0:
g[b]="零";
break;
case 1:
g[b]="壹";
break;
case 2:
g[b]="貳";
break;
case 3:
g[b]="參";
break;
case 4:
g[b]="肆";
break;
case 5:
g[b]="伍";
break;
case 6:
g[b]="陸";
break;
case 7:
g[b]="柒";
break;
case 8:
g[b]="捌";
break;
case 9:
g[b]="玖";
break;
}
a=a/10;
b++;
}
b--;
for(c=b;c>=0;c--)
{
if(g[c]!="零")
{
cout<<g[c];
switch(c)
{
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<<"拾";
}
if(c==5&&g[4]=="零")
cout<<"萬";
if(c==6&&g[4]=="零"&&g[5]=="零")
cout<<"萬";
if(c==7&&g[4]=="零"&&g[5]=="零"&&g[6]=="零")
cout<<"萬";
if(c==9&&g[8]=="零")
cout<<"億";
}
}
cout<<endl;
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.100.169