開發平台(Platform): (Ex: Win10, Linux, ...)
win8
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
stdio.h
問題(Question):
如何顯示成 平常國字標準數字念法
末幾位是0 不顯示
從最左邊起 遇到大於等於一個0
只顯示一個零
餵入的資料(Input):
42002500
預期的正確結果(Expected Output):
肆仟貳百萬貳仟五百元
錯誤結果(Wrong Output):
肆仟貳百零零貳百五十零元
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://ideone.com/XnET5L
#include <stdio.h>
void p1(int);
void p2(int);
char *dig[] = {"零","壹","貳","參","肆","伍","陸","柒","捌","玖"};
char *fer[] = {"\0","十","百","仟","萬","十","百","仟","億"};
int times=0;
int main()
{
int n;
printf("N = ");
scanf("%d",&n);
p1(n);
printf("元\n");
return 0;
}
void p1(int n)
{
int prefix,curryDig;
if( n < 10){
printf("%s",dig[n]);
p2(times);
}
else{
prefix = n / 10;
times++;
p1(prefix);
times
logical先列出來,什麼時候要零,什麼時候不要零什麼時候加萬,什麼時候加億,先列出來