7-83 币值转换 (20 分)
输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

输入格式:
输入在一行中给出一个不超过9位的非负整数。

输出格式:
在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

输入样例1:
813227345
结尾无空行
输出样例1:
iYbQdBcScWhQdBeSf
结尾无空行
输入样例2:
6900
输出样例2:
gQjB

思路:
1.用数组x[]存储对应的a-j
2.用数组y[]存储对应的S、B、Q、W、Y
3.逆序分离输入的数据,单个数字存入数组h[]中。
4.x[ h[i] ]输出对应数字的a-j
5.y[i]输出对应的S、B、Q、W、Y
6.考虑零的情况。如果a[i]==0那么只输出零,后面的y[i]则不需要输出。如果零在之前已经出现过,那么就不用输出零,一直往后读取,直到读到下一个非零的数字。

#include<stdio.h>
#include<string.h>
#define MAX 10
char x[10]={'a','b','c','d','e','f','g','h','i','j'};
char y[9]={'0','S','B','Q','W','S','B','Q','Y'};
int h[MAX];int main()
{memset( h,0,sizeof(h) );int i=0,n;scanf("%d",&n);if(n==0){printf("%c",x[0]);    }else{do{h[i++]=n%10;n=n/10;}while(n);int j;int c=1;for( j=i-1; j>=0; j-- ){if(h[j]){printf("%c",x[h[j]]);if(y[j]!='0')printf("%c",y[j]);}else{if(j==4&&(h[4]||h[5]||h[6]||h[7]))printf("%c",y[j]);//判断后面有没有非零的数字 int k,f=0;for( k=j; k>=0; k-- ){if(h[k]){f=1;break;}}if(f&&c){printf("%c",x[0]);c=0;           }else{continue;}}}      }return 0;
}

7-83 币值转换 (20 分)相关推荐

  1. 7-168 币值转换 (20 分)

    7-168 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为 ...

  2. 7-83 币值转换 (20分)

    整了3个小时终于做出来了(我是菜鸡,大佬们别喷),初始的时候解题方向整错了:我把单位和数字放在一起输出了,导致以我现在能力无法正确表达出汉字的习惯.意识到可能需要重写代码,就看了下网上的答案,大体思路 ...

  3. 7-23 币值转换 (20分)

    7-23 币值转换 (20分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...

  4. 【Java】7-23 币值转换 (20 分)

    7-23 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了 ...

  5. 7-43 币值转换 (20分)_「篮球看吧」40岁了!生涯25年!还狂砍33分+联赛得分王,这他么是人吗...

    35岁的詹姆斯仍处在巅峰,让无数人惊讶.40岁的时候詹皇会是什么样子?现在詹皇有了一个参照样本,那就是40岁的斯科拉.这位阿根廷球星在迈入四旬依然能称霸欧洲顶级联赛,目前在意大利甲级篮球联赛得分榜排名 ...

  6. java币值转换_-PAT-java-5-23 币值转换 (20分)

    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序 ...

  7. PTA 7-43 币值转换 (20 分)

    题目 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a- ...

  8. 7-4 币值转换 (20分)

    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序 ...

  9. 币值转换 (20分)

    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简化输出,用小写英文字母a-j顺序 ...

最新文章

  1. 2022-2028年中国汽车印制电路板(汽车PCB)产业深度调研及投资前景预测报告
  2. PHP基础封装简单的MysqliHelper类
  3. Opencv 去高光或镜面反射(illuminationChange)
  4. 20170710L07-09-03老男孩Linux运维实战培训-Sersync实时同步软件实战应用指南07
  5. 基于UDP客户端服务器的编程模型-linux网络编程
  6. 【leetcode】472. Concatenated Words
  7. “java程序打成jar包 如何处理第三方jar包”
  8. 2019ICPC(沈阳) (回文自动机+Palindrome Series优化dp)
  9. typescript可辨识联合
  10. java 第二天,Java复习第二天
  11. c++代码好玩_一行Python代码能干嘛?快来看看吧!有表白利器哦
  12. android porting usb audio,android - 在android中启动时找不到audio-hal-2-0 - 堆栈内存溢出...
  13. Android在WindowManagerService和ActivityManagerService中的Token
  14. Spring基础系列-AOP源码分析
  15. Linux.CommanlineTool.grep
  16. 最速下降法matlab全局最小值_最速下降法+Matlab代码
  17. 手把手教你搭建小程序
  18. python实现QQ和微信刷屏
  19. php网站mercury安装,水星路由器怎么安装?Mercury无线路由器安装示意图解
  20. 面经 | 腾讯/阿里/京东/头条/旷视等20+企业计算机视觉算法岗面经吐血整理

热门文章

  1. ffmpeg混音以及音视频混合
  2. python创建多维数组
  3. 字节分享的软件测试《面试笔记》文档,让我直呼卧槽卧槽
  4. Sphere GAN的(粗糙的)个人翻译
  5. 搭建达梦DSC(两节点)
  6. 怎样修复服务器电池,服务器电池故障
  7. 锂电池检测(新能源锂电池视觉缺陷检测)
  8. 工业物联网·翻推机设备联网及本地组网解决方案
  9. C++进阶——内存管理(二)
  10. 什么是Alpha通道