人民幣金額大寫

2021-07-01 23:10:33 字數 1048 閱讀 6478

q:

在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。

本題的任務是:從鍵盤輸入乙個十億以內的正整數(int型別),把它轉換為人民幣金額大寫(不考慮使用者輸入錯誤的情況)。

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

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

使用者輸入:30001,程式輸出:叄萬零壹

使用者輸入:31000,程式輸出:叄萬壹仟

使用者輸入:120023201,程式輸出:壹億貳仟零貳萬叄仟貳佰零壹

使用者輸入:120020001,程式輸出:壹億貳仟零貳萬零壹

使用者輸入:100000001,程式輸出:壹億零壹

可以看到,在萬後滿千位,則不加零,否則要補零,但不要出現類似「零零」的情況。

在億後滿千萬位,則不加零,否則要補零,但整個「萬檔」沒有數字時,「萬」字省去。

a:>>判斷不難,直接暴破,就是中文的賦值和輸出費了點勁

>>初始化時用char[2]和char[3]會報錯,必須要char[4],賦值用strncpy(str1, str2, 2)卻只用了2,現在也沒搞清楚

#include "stdio.h"

#include "windows.h"

int main (void)

, sma[4][4]=,deci[10][4]=;

//零、壹、貳、叄、肆、伍、陸、柒、捌、玖 拾、佰、仟、萬、億

char output[40][4], origin[11]="0";

while(scanf("%s",origin))

}if(origin[len-1-i]-'0'==0)

else

}else

else

continue;

}else

}} for(i=n-1; i>=0; i--)

printf("%s",output[i]);

puts("");

} system("pause");

return (0);

}

人民幣金額大寫問題

在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發票的列印程式。本題的任務是 從鍵盤輸入乙個十億以內的正整數 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 二次處理大寫金額...