首页 > 其他分享 >实数小写金额转大写

实数小写金额转大写

时间:2023-04-13 21:37:07浏览次数:31  
标签:case 10 实数 money 大写 break int 小写 printf

编程序实现如下功能:从键盘输入一个包含小数的小写金额(整数部分不超过7位),将其转换为汉字大写金额,最后输出结果。

提示:不需要对0进行特殊处理。

(C语言微课视频——哔哩哔哩网站——账号:巨之说)

输入格式:

输入一个包含小数的小写金额(整数部分不超过7位,小数部分不超过2位)。

输出格式:

汉字大写金额,最后换行。

输入样例:

123.45

输出样例:

壹佰贰拾叁元肆角伍分

示例

#include <stdio.h>

void s(int i) {
	switch (i)
	{
	case 0:printf("零"); break;
	case 1:printf("壹"); break;
	case 2:printf("贰"); break;
	case 3:printf("叁"); break;
	case 4:printf("肆"); break;
	case 5:printf("伍"); break;
	case 6:printf("陆"); break;
	case 7:printf("柒"); break;
	case 8:printf("捌"); break;
	case 9:printf("玖"); break;
	}
}

int main()
{
    // 思路很简单,直接取每位转大写,处理一下万单位就行(如果前面不是0 就不打印就行)
	double money;
	scanf("%lf", &money);

	int i7 = (int)money / 1000000 % 10;
	int i6 = (int)money / 100000 % 10;
	int i5 = (int)money / 10000 % 10;
	int i4 = (int)money / 1000 % 10;
	int i3 = (int)money / 100 % 10;
	int i2 = (int)money / 10 % 10;
	int i1 = (int)money / 1 % 10;
	int i0_1 = (int)(money * 10) % 10; //角
	int i0_2 = (int)(money * 100) % 10; //分

	if (i7 != 0) { s(i7); printf("佰"); }
	if (i6 != 0) { s(i6); printf("拾"); }
	if (i5 != 0) s(i5);
	if (i7 > 0 || i6 > 0 || i5 > 0) printf("万");
	if (i4 != 0) { s(i4); printf("仟"); }
	if (i3 != 0) { s(i3); printf("佰"); }
	if (i2 != 0) { s(i2); printf("拾"); }
	if (i1 != 0) { s(i1); printf("元"); }
	if (i0_1 != 0) { s(i0_1); printf("角"); }
	if (i0_2 != 0) { s(i0_2); printf("分"); }
}

标签:case,10,实数,money,大写,break,int,小写,printf
From: https://www.cnblogs.com/xxing/p/17316463.html

相关文章

  • C# Json序列化,设置驼峰命名(字段首字母小写)
    相关代码:varserializerSettings=newJsonSerializerSettings{//设置为驼峰命名ContractResolver=newCamelCasePropertyNamesContractResolver()};varresult=JsonConvert.Ser......
  • JAVA返回前端时候bean转json时首字母、第二个字母大写会自动变成小写的问题
      后台bean是privateStringuName;但是前端生成的json是uname会自动变成小写 如果我们只是个别的几个的话,只需要加个注解@JsonProperty("uName")privateStringuName; 这样就可以了......
  • mysql中字段存储不区分大小写
    mysql中查询时,遇到字段不区分大小写的情况,大小写都能取到值//sql语句中"select*fromtab_userwherebinaryusername=?andpassword=?";binary可以做到区分大小写//MySQL中默认字段是不区分大小写的,如果要完成区分大小写的功能,在设计时要注意字符集的选择......
  • ubuntu 修改mysql的大小写不敏感
    1.进入目录径:/etc/mysql/mysql.conf.d2.修改文件mysqld.cnf文件  [mysqld]  标签下方添加  lower_case_table_names=1注意:该配置会强制将表名改为小写,如果当前存在大写的表,请将大写的表改为小写再改配置,否则原来大写的表无法删除,小写的表名也无法创建或者修改完成后......
  • 把一个对象的key全部换成大写/小写
    问题:把一个对象,将它的所有key转换为大写或小写。方法://大写转换exportfunctionupperJSONKey(jsonObj){for(varkeyinjsonObj){jsonObj[key.toUpperCase()]=jsonObj[key];delete(jsonObj[key]);}returnjsonObj;}//小写转换exportfunction......
  • 希腊字母大小写及读音表
    ......
  • 文件夹批量改名工具,将首写字母改为大写
    怎么处理文件,比如快速修改文件夹名称,将首写字母改为大写?不知道如何操作的宝贝们,下面请随小编一起来试试吧,希望能给大家带来帮助。所需工具一台电脑文件夹素材若干操作步骤步骤1:在处理之前,最好将需要修改的文件夹都保存在同一个文件夹之中,方便提取步骤2:进入【文件批量改名高手】,单击......
  • 如何使用awk进行字符串大小写的转换?
    1、问题:如何将下面的这个字符串,全部转换为  大写  ?DOMaiN,verify,reference,offset,LIMIT,TYPE,ref,context,LOGIN,CONTEXT,sa  使用awk的toupper()函数来实现[root@yks01~]#echo"DOMAIN,verify,reference,offset,LIMIT,TYPE,ref,context,LOGIN,CONTEXT,sa"......
  • 记一次springboot通过jackson渲染到前端,出现大写字母变成小写问题
    前言最近业务部门接手了外包供应商的项目过来自己运维,该部门的小伙伴发现了一个问题,比如后端的DTO有个属性名为nPrice的字段,通过json渲染到前端后,变成nprice,而预期的字段是要为nPrice。于是他们就找到我们部门,希望我们能帮忙解决一下这个问题,本文就聊聊如何解决问题,至于为什么会......
  • MySql8.0.30忽略大小写配置
    说明:此文档只是针对已经初始化了的数据库,如果是新安装的数据库直接在/etc/my.cnf文件中新增一行配置:lower_case_table_names=1即可。因为默认配置是0. 步骤1:备份mysql所有数据,并删掉data目录里的所有文件。可能是因为数据库里的表默认设置了lower_case_table_names=0,如果不删......