当前位置:网站首页>PTA基础题 7-23 币值转换 (20 分) (属实恶心)
PTA基础题 7-23 币值转换 (20 分) (属实恶心)
2022-07-22 09:13:00 【现无忘之思】
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
分析:这题属实恶心啊,好多特殊情况和细节问题,暂时也没想到很好的方法,插眼,后续有想法再更新。目前的思路是 :先从最一般的情况下手,例如123456789,之后再考虑中间和结尾带0的情况;代码如下:
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[10],cnt=0;
do {
a[cnt++]=n%10;
n/=10;
} while (n);
char b[15]="abcdefghij";
int t=0;
for (int i=cnt-1;i>=t;i--) {
if (i==4&&a[i]==0) {
printf("W");
continue;
} else printf("%c",b[a[i]]); //万位上为0不输出0,万仍需输出,例6902312;
// 6900; 处理结尾带0(不输出所有结尾带0的部分,包含万位时万仍需输出)
if (a[0]==0) {
int j=1;
while (a[j]==0) {
j++;
}
if (j>=1) t=j;
}
// 100000001; 69002处理中间带0,往下递推 (多个零只输出一次)
if (a[i]==0) {
int j=i;
while (a[j]==0) {
j--;
}
i=j+1;
}
if (i==4) printf("W");
if (a[i]) {
if (i==8) printf("Y");
if (i==7||i==3) printf("Q");
if (i==6||i==2) printf("B");
if (i==5||i==1) printf("S");
}
}
}
慢慢调试只能说是,这题的做法也是五花八门,插眼,后续来看。
边栏推荐
- 01.开闭原则 Open-Closed Principle
- Toss Phoenix system (by quqi99)
- [audio] transplant wm8978 audio codec driver based on STM32 I2S
- 【TOOLS】TortoiseSVN如何设置比较工具为Beyond Compare 4
- [SDIO] sd2.0 protocol analysis summary (I) -- Introduction to SD card basic probability
- ECSHOP need to modify the folder and file of permission? The error directory cannot be written
- The routing interface of local access to local TP5 of wechat applet is normal. Why can't you scan the code on the mobile phone to preview and get data?
- call()和apply()
- 03.单一职责原则(Simple Responsibility Pinciple)
- LeetCode: 185. 部门工资前三高的所有员工
猜你喜欢
[tools] how to set the comparison tool for TortoiseSVN to beyond compare 4
批量查分爬虫
TCP and UDP, three handshakes and four waves
PHP实现删除一维数组中某一个值
01. Open closed principle
ip,子网掩码,网关,IPS与IDS
Is it really necessary to define VO, Bo, Po, do, dto?
【Audio】基于STM32 I2S移植WM8978 Audio Codec驱动
Simple demonstration and prevention of CSRF attack in PHP development
【Audio】I2S传输PCM音频数据分析总结(二)
随机推荐
Js高级-函数的理解
[tools] how to set the comparison tool for TortoiseSVN to beyond compare 4
[STM32] STM32 SDIO SD card read / write test (I) -- SD card hardware design and software migration
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so'
[audio] analysis and summary of PCM audio data transmitted by I2S (I)
微信公众号网页授权----redirect_uri域名与后台配置不一致,错误码10003 错误
Protocol and port
Try kolla-ansible (by quqi99)
总结20220211
数组的简介
[FatFs] FAT32 file system protocol summary (Theory + Practice)
【FatFs】基于STM32 SD卡移植FatFs文件系统
手写shallowReadonly和readonly
枚举对象中属性
【STM32】STM32 SDIO SD卡读写测试(一)-- SD卡硬件设计和软件移植
构造函数
04. interface aggregation principle
ecshop配置微信支付,微信开发者工具微信支付时弹窗提示“未绑定网页开发者”问题
总结20220210
Alibaba's previous SMS service is no longer available