人民幣金額大寫問題

2021-08-17 22:15:13 字數 1033 閱讀 7932

在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是:從鍵盤輸入乙個十億以內的正整數(int 型別),把它轉換為人民幣金額大寫(不考慮使用者輸入錯誤的情況)

比如,使用者輸入: 35201,程式輸出:叄萬伍仟貳佰零壹

使用者輸入: 30201,程式輸出:叄萬零貳佰零

主要是利用棧來實現,因為棧的特點是先入後出,而我們通過計算機(整除和求餘)讀入是從低位到高位讀入,而輸出的時候是從高位往低位讀。關於權和零的問題,因為比較特殊當size == 4size==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 二次處理大寫金額...