7-137金のネックレスの販売(誤り訂正版)(10点)
プログラムを作成し、金の価格とネックレスの重さを入力し、合計金額を計算して、領収書を印刷してください。
注:合計金額の最大単位はわずか1億(10億未満)です。
入力フォーマット
金の価格と重量(どちらも正の実数)
出力フォーマット
出力例を参照してください。
注:単価、重量、金額はすべて小数点以下2桁(自動丸め)を出力する必要があり、金額も大文字を出力する必要があります。
大文字と通貨単位で使用される漢字は次のとおりです。
0〜9の数字の大文字は、0、1、2、3、4、5、lu、7、ba、jiuです。
小から大への金額の単位は、セント、ジャオ、ユアン、10、100、1000、1万、10、100、1000、1億です。
入力サンプル
351.6514.5
出力サンプル
単価:351.65元/ g
重量
:14.50g `金額:5098.93元
大文字:五千九百九百元九暁3分
#include<bits/stdc++.h>
using namespace std;
char d1[50][5]={
"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};//二维
char d2[50][5]={
"分","角","元","拾","佰","仟","万","拾","佰","仟","亿"};
int main(){
double a,b,c;
cin>>a>>b;
char s[20]={
};
c=1.0*a*b+0.00001;
printf("单价: %.2lf元/克\n",a);
printf("重量: %.2lf克\n",b);
printf("金额: %.2lf元\n",c);
printf("大写: ");
sprintf(s,"%.2lf",c);//单个导入
int total=0;
for(int i=0;;++i){
if(s[i]=='.'){
break;
}
++total;
}
int i;//超时
for( i=0;;++i){
if(s[i]=='.')break;
printf("%s%s",d1[s[i]-'0'],d2[total+1]);
--total;
}
printf("%s角%s分\n",d1[s[i+1]-'0'],d1[s[i+2]-'0']);
return 0;
}