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 二次處理大寫金額...