在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是:從鍵盤輸入乙個十億以內的正整數(int 型別),把它轉換為人民幣金額大寫(不考慮使用者輸入錯誤的情況)主要是利用棧來實現,因為棧的特點是先入後出,而我們通過計算機(整除和求餘)讀入是從低位到高位讀入,而輸出的時候是從高位往低位讀。關於權和零的問題,因為比較特殊當比如,使用者輸入: 35201,程式輸出:叄萬伍仟貳佰零壹
使用者輸入: 30201,程式輸出:叄萬零貳佰零
size == 4
或size==8
,直接輸出『萬』、『億』,多個零的情況可以通過乙個while
來做,如果棧頂為零,就一直出棧,直到不為零,但只輸出乙個「零」。
採用棧的資料結構(簡單版本)
class numstack // 建構函式
~numstack() // 析構函式
void push(const
int n) // 入棧
int top() // 取棧頂元素
void pop(int &n) // 出棧
int thesize() // size 為protected型別,只能通過函式訪問
主函式
int main()
; string unit[4] = ;
int now = 0;
while(money != 0)
while(mystack.thesize()!=0) else
if (mystack.thesize()==0)else
} else
}if(mystack.thesize()!=0)}}
cout
<<"請輸入金額:"; // 格式控制
}return
0;}
人民幣金額大寫
q 在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是 從鍵盤輸入乙個十億以內的正整數 int型別 把它轉換為人民幣金額大寫 不考慮使用者輸入錯誤的情況 比如,使用者輸入 35201,程式輸出 叄萬伍仟貳佰零壹 使用者輸入 30201,程式輸出 叄萬零貳佰零壹 使用者...
人民幣數字金額轉大寫金額
public class t if money.substring index,money.length length 3 money money.replaceall d 去除 int length money.length 貨幣大寫形式 string bigletter 貨幣單位 string ...
人民幣小寫金額轉大寫金額
region 人民幣小寫金額轉大寫金額 小寫金額轉大寫金額 接收需要轉換的小寫金額 返回大寫金額 public static string convertmoney this decimal money 生成大寫金額字串 moneystr moneystr dvar unitvar 二次處理大寫金額...