我對於這個題的主要思想就是把九位數分三塊,對每塊進行處理後,再合併。有了這個思想就開始寫**,後面就是哪有洞補哪,哪個測試用例沒通過就對其特殊處理…。反正最後測試用例全通過了。
#include
#include
#include
using
namespace std;
char a[10]
=;//既然題目說了最多9位數,我把9位數切成三分,1 1111 1111大概是這樣,
//fn函式輸入乙個最多4位的int值,返回這個數值的字元表示
string fn
(int n)
if(temp!=0)
if(n==0)
break
;//對n最高位處理完就可以退出了
}reverse
(res.
begin()
,res.
end())
;//之前是逆序,反轉成正確的
return res;
}int
main()
string res1,res2,res3,res;
//三段,每段乙個結果,最終結果是res
res="";
int yi,wan,ge;
//先從int值裡把這三段分出來
yi=s/
100000000
; wan=
(s-yi*
100000000)/
10000
; ge=s-wan*
10000
; res1=
fn(yi)
; res2=
fn(wan)
; res3=
fn(ge)
;//用fn函式得到字串值
//下面是對不同情況的邏輯控制
if(yi>0)
else
else res=res2+
'w'+res3;
//當值千位不為0就沒這個問題 20 1002 直接加w就行
}else res=res3;
//小於一萬情況最簡單,直接輸出就好
} cout
}
PTA 幣值轉換 模擬
輸入乙個整數 位數不超過9位 代表乙個人民幣值 單位為元 請轉換成財務要求的大寫中文格式。如23108元,轉換後變成 貳萬叄仟壹百零捌 元。為了簡化輸出,用小寫英文本母a j順序代表大寫數字0 9,用s b q w y分別代表拾 百 仟 萬 億。於是23108元應被轉換輸出為 cwdqbbai 元。...
pta 基礎程式設計題 7 23幣值轉換
輸入乙個整數 位數不超過9位 代表乙個人民幣值 單位為元 請轉換成財務要求的大寫中文格式。如23108元,轉換後變成 貳萬叄仟壹百零捌 元。為了簡化輸出,用小寫英文本母a j順序代表大寫數字0 9,用s b q w y分別代表拾 百 仟 萬 億。於是23108元應被轉換輸出為 cwdqbbai 元。...
PTA 幣值轉換 20分
輸入乙個整數 位數不超過9位 代表乙個人民幣值 單位為元 請轉換成財務要求的大寫中文格式。如23108元,轉換後變成 貳萬叄仟壹百零捌 元。為了簡化輸出,用小寫英文本母a j順序代表大寫數字0 9,用s b q w y分別代表拾 百 仟 萬 億。於是23108元應被轉換輸出為 cwdqbbai 元。...