标签:10 %. int 2lf 0.00001 大写 PTA printf d1
7-137 出售金项链(误差修正版) (10分)
请编写程序,输入黄金的价格和项链的重量,计算总金额,并打印票据。
注:总金额单位最大只到亿(不到10亿)。
输入格式
金价和重量(均为正实数)
输出格式
参看输出样例。
注:单价、重量和金额,均要求输出2位小数(自动四舍五入),金额还要求输出大写。
大写数字和金额单位所使用的汉字分别为:
数字0 ~ 9的大写依次为: 零、壹、贰、叁、肆、伍、陆、柒、捌、玖。
金额单位由小大到依次为: 分、角、元、拾、佰、仟、万、拾、佰、仟、亿。
输入样例
351.65 14.5
输出样例
单价: 351.65元/克
重量: 14.50克`
金额: 5098.93元
大写: 伍仟零佰玖拾捌元玖角叁分
#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;
}
标签:10,%.,int,2lf,0.00001,大写,PTA,printf,d1 来源: https://blog.csdn.net/Minelois/article/details/113359469
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。