5 23 幣值轉換 20分

2021-07-26 05:25:45 字數 1095 閱讀 9890

5-23 幣值轉換   (20分)

輸入乙個整數(位數不超過9位)代表乙個人民幣值(單位為元),請轉換成財務要求的大寫中文格式。如23108元,轉換後變成「貳萬叄仟壹百零捌」元。為了簡化輸出,用小寫英文本母a-j順序代表大寫數字0-9,用s、b、q、w、y分別代表拾、百、仟、萬、億。於是23108元應被轉換輸出為「cwdqbbai」元。

輸入在一行中給出乙個不超過9位的非負整數。

在一行中輸出轉換後的結果。注意「零」的用法必須符合中文習慣。

我的解題思路,有幾個特殊情況很複雜,只能分開討論,不知道有沒有更好的方法

#includeint main();

char b[10]=;

int c[10]=;

int flag[10]=;

long n;

int len=0;

scanf("%d",&n);

long t=n;

int j;

int hou=0;

while(t>0)

if(n==0) printf("a");

else

else if(flag[j]==1&&flag[j-1]==0)

}else printf("%c%c",a[c[j]],b[j]);

}else if(j>4)

else if(c[j]!=0) printf("%c%c",a[c[j]],b[j]);

else if(c[j]==0&&c[j-1]!=0) printf("a");

}else if(j==4)

else if(c[j]!=0) printf("%c%c",a[c[j]],b[j]);

else if(c[j]==0&&c[j-1]!=0) printf("wa");

}else if(j<4&&j>0)

else if(c[j]!=0) printf("%c%c",a[c[j]],b[j]);

else if(c[j]==0&&c[j-1]!=0) printf("a");

}else if(j==0)

} }return 0;

}

5 23 幣值轉換 20分

5 23 幣值轉換 20分 輸入乙個整數 位數不超過9位 代表乙個人民幣值 單位為元 請轉換成財務要求的大寫中文格式。如23108元,轉換後變成 貳萬叄仟壹百零捌 元。為了簡化輸出,用小寫英文本母a j順序代表大寫數字0 9,用s b q w y分別代表拾 百 仟 萬 億。於是23108元應被轉換輸...

5 23 幣值轉換

輸入乙個整數 位數不超過9位 代表乙個人民幣值 單位為元 請轉換成財務要求的大寫中文格式。如23108元,轉換後變成 貳萬叄仟壹百零捌 元。為了簡化輸出,用小寫英文本母a j順序代表大寫數字0 9,用s b q w y分別代表拾 百 仟 萬 億。於是23108元應被轉換輸出為 cwdqbbai 元。...

7 23 幣值轉換(20 分)

7 23 幣值轉換 20 分 輸入乙個整數 位數不超過9位 代表乙個人民幣值 單位為元 請轉換成財務要求的大寫中文格式。如23108元,轉換後變成 貳萬叄仟壹百零捌 元。為了簡化輸出,用小寫英文本母a j順序代表大寫數字0 9,用s b q w y分別代表拾 百 仟 萬 億。於是23108元應被轉換...