資料結構Java版 金額的中文大寫

2021-09-07 02:55:40 字數 1210 閱讀 7224

題目描述

讀入乙個浮點數值,將其轉化為金額的中文大寫形式。

例如:123.45轉化為「壹佰貳拾叄元肆角伍分」。

1)當金額為整數時,只表示整數部分,省略小數部分,並新增「整」字。

例如:123表示為「壹佰貳拾叄元整」

2)當金額中有連續的0時(含乙個0),只需寫乙個「零」即可。

例如:10005表示為「壹萬零伍元整」

3)10元縮寫為「拾元整」。

輸入表示金額的浮點數若干,每行乙個

輸出各金額的中文大寫形式,每行乙個

注:數字「壹貳叄肆伍陸柒捌玖拾佰仟萬億」

單位「元角分」

樣例輸入

123.45

12310005

10

樣例輸出

壹佰貳拾叄元肆角伍分

壹佰貳拾叄元整

壹萬零伍元整

拾元整

分析:本題不斷模擬加暴力列舉就行

#include#includeusing namespace std;

char b[10][11]=;//定義進製

char c[11][11]=;//定義數字漢字

char e[4][11]=; //定義情況

int main()

strcpy(f[++j],e[0]);//將元的單位儲存到字串中

t=size-4;

} else if(a[size-2]=='.')//數字僅包含角的情況

else//數字直接從元開始

///篩選整數部分///

int s=0,r=0;//s代表迴圈數,4個數字一迴圈,即個、十、百、千

for(int i=t;i>=0;i--)

else if(s%4==1)//十位

else if(a[i]=='1')//為1時,僅輸出單位即可

else if(a[i]=='0'&&a[i+1]!='0')//為零時,考慮下級(即個位)是否為零

}else if(s%4==2)//百位

else if(a[i]=='0'&&a[i+1]!='0')//為零時,考慮下級(即十位)是否為零

}else if(s%4==3)//千位

}s++;//對篩選數字進行公升級

} for(int i=j;i>=1;i--)

cout<}

}

棧《資料結構 Java版》

color red b 1.基於陣列的棧 b color public class stackclass public stackclass int stacksize 拷貝建構函式 public stackclass stackclass otherstack public void initia...

佇列 資料結構 Java版

佇列 佇列是一種先進先出的資料結構,它的元素只能在一端增加,該端稱為rear,元素的刪除只能在另一端進行,這一端稱為front.1.基於陣列的實現 迴圈佇列 public class queueclass public void initializequeue public class linked...

資料結構 鍊錶 JAVA版

和c 並沒有差別不大,主要是指標改為了引用變數,其他的鏈式結構基本可以參照這個 至於樹的話注意下遞迴就大致可以了 package com.sun.study.test class link public void display class linklist public boolean isemp...