币值转换
时间:2021-08-19
本文章向大家介绍币值转换,主要包括币值转换使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
7-23 币值转换 (20 分)
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。
输入格式:
输入在一行中给出一个不超过9位的非负整数。
输出格式:
在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。
输入样例1:
813227345
结尾无空行
输出样例1:
iYbQdBcScWhQdBeSf
结尾无空行
输入样例2:
6900
输出样例2:
gQjB
上面是测试点,思路:
1.用字符数组接收数据
2.设置两个字符数组,一个存a~j,一个存单位
3.再将数组逆置(因为我后面准备用atoi函数将字符串转成整型,而我们要从高位开始输出)(这地方可以不转整型用字符数组做,我懒得改了),转成整型
补:如果末尾全是0逆置后转换整型后0就会都消失
4.写一个计算整数位数的函数
5.这题主要在于0和W的处理
1.0的处理:末尾全是0时,整数的位数和一开始字符数组的有效长度是不同的(这个是最重要的,因为后面的处理都根据这个),这个循环次数是整数的位数,所以去掉那些0后循环次数也是对 的(这里不理解的话,可以自己动手算一下循环次数,也就是这里把前面不为0的部分全部按题目输出了);
中间0的处理:假设当前数为0且后面一个也为0则不输出
2.W的处理:看代码注释吧
#include <stdio.h> #include <stdlib.h> #include <string.h> int count(int n){ int count=0; while(n){ n/=10; count++; } return count; } int main(){ char b[10],c[10]; int i,n; char a[11],d[7]={'0','S','B','Q','W','Y'}; for(i=0;i<=9;i++) a[i]='a'+i;//a~j存到数组a中 gets(b); char *p=b+strlen(b)-1,*q=c; while(*p){ *q=*p; q++; p--; }//数组逆置 *q=0; n=atoi(c);//字符转整型的函数 int t=n;for(i=1;i<=count(n);i++){ if(!(t%10==0&&t/10%10==0))//处理中间0 printf("%c",a[t%10]); if(strlen(b)==9&&i==1) printf("Y"); if(t%10&&(strlen(b)-i)%4<=4&&(strlen(b)-i)%4!=0)//若数字为0时则后面不跟单位,当处理第四位数字时要输出W单独处理 printf("%c",d[(strlen(b)-i)%4]); if(strlen(b)-i==4)//W的单独处理 printf("W"); t/=10; } if(strlen(b)-count(n)>1&&strlen(b)>4)//处理末尾全是0且总位数超过4的情况下W printf("W"); if(n==0)//这是第四个测试点,我这个卡了半年 printf("a"); }
原文地址:https://www.cnblogs.com/sushang/p/15162981.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法