1082 Read Number in Chinese (25 分)【难 / 模拟 字符串】
https://pintia.cn/problem-sets/994805342720868352/problems/994805385053978624
写的太垃圾,不想详细说,等有时间再写一个简洁的方法。
最讨厌的就是这个模拟题。
说一下我的处理空格的一些想法,直接用字符串连接,然后字符串流输出,这样可以处理多余的或少的空格。
#include<bits/stdc++.h>
using namespace std;
string s;
string a[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
string b[10]={"ling","","Shi","Bai","Qian","Wan","Shi","Bai","Qian","Yi"};
// 0 1 10 100 1000 10000
bool flag1,flag2,flag3,flag22,flag33;
string ans;
int main(void)
{cin>>s;if(s=="0") {puts("ling");return 0;}if(s[0]=='-') ans+="Fu ",s=s.substr(1);while(s.size()<9) s="0"+s;string temp=s.substr(0,1);if(temp[0]!='0') ans+=" "+a[temp[0]-'0']+" Yi ",flag1=1;temp=s.substr(1,4);bool index=0;flag22=flag1;for(int i=0,j=4;i<4;i++,j--){int u=temp[i]-'0';if(!u) index=1;if(u&&index&&flag22&&temp[i-1]=='0') ans+=" ling ";if(u) ans+=" "+a[u]+" "+b[j]+" ",flag22=1,flag2=1;}if(flag2) ans+=" Wan ";temp=s.substr(5,4);index=0;flag33=flag22;for(int i=0,j=4;i<4;i++,j--){int u=temp[i]-'0';if(!u) index=1;if(u&&index&&flag33&&temp[i-1]=='0') ans+=" ling ";if(u) ans+=" "+a[u]+" "+b[j]+" ",flag33=1;}string x; stringstream l(ans);vector<string>ve;while(l>>x) ve.push_back(x);for(int i=0;i<ve.size();i++){cout<<ve[i];if(i!=ve.size()-1) cout<<" ";}return 0;
}
1082 Read Number in Chinese (25 分)【难 / 模拟 字符串】相关推荐
- PAT甲级1082 Read Number in Chinese:[C++题解]字符串处理
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析 从后往前,四位数作为1组来处理.每组单位最多是十百千,组间单位是万和亿.以123456789为例,分成三组为1,2345,6789,下 ...
- 【PAT甲】1006 Sign In and Sign Out (25分)循环模拟
problem 1006 Sign In and Sign Out (25分) At the beginning of every day, the first person who signs in ...
- 【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法
problem L2-029 特立独行的幸福 (25分) 对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 ...
- 【CCCC】L2-028 秀恩爱分得快 (25分),模拟题
problem L2-028 秀恩爱分得快 (25分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人, ...
- 【CCCC】L2-027 名人堂与代金券 (25分),模拟水题
problem L2-027 名人堂与代金券 (25分) 对于在中国大学MOOC(http://www.icourse163.org/ )学习"数据结构"课程的学生,想要获得一张合 ...
- 1082 Read Number in Chinese
题目 题意: 给定一个不超过9位的整数,你应该用传统的中文方式阅读它~ 如果是负的,首先输出"Fu". 例如,-123456789被读作"Fu yi Yi er Qian ...
- PAT甲级1082 Read Number in Chinese(JAVA版)
本题考查 字符串处理 思路 除了0之外 数字1-9分别对应其小写拼音,另外当 "数组长度 - 数字所在数组索引" 单位 9 Yi 8.4 Qian 7.3 Bai 6.2 Shi ...
- 【PAT甲级 - 1028】List Sorting (25分)(模拟,排序)
题干: Excel can sort records according to any column. Now you are supposed to imitate this function. I ...
- 【PAT - 甲级1009】Product of Polynomials (25分)(模拟,细节)
题干: This time, you are supposed to find A×B where A and B are two polynomials. Input Specification: ...
最新文章
- CentOS 下 rpm包与 yum 安装与卸载
- 为自增(++)自减(--)运算符正名
- QT的QDBusPendingCallWatcher类的使用
- 使用malloc创建头结点的坑
- 乱码 设置界面_和平精英:压轴更新后BUG频出,设置界面崩盘,界面全白变乱码...
- 高速连传与LORA的区别和优势
- 【转载】JAVA的泛型和C++的模板的区别与联系
- Java实现对称加密算法-AES加解密
- 操作系统原理(六)设备管理
- Drop user 报ORA-00600 [KTSSDRP1]
- 服务器主板能插几块硬盘,如何知道自己的主板最大支持多少的硬盘啊
- 【MiniSTM32_HAL库版本_V1.0】实验1跑马灯代码解释(超详细,适合初识STM32的朋友)
- 爬取企业信息-企业信用信息查询系统-天眼查爬虫
- unbuntu20.04安装mysql5.7
- 测试体质的软件有哪些,有哪些APP可以测体脂?测体脂率APP分享
- ssd的smt_SMT 工厂基础参数要求
- VCS(DVE)调试
- PHP 使用TCPDF插件生成pdf以及pdf的中文处理
- [BZOJ 1778][Usaco2010 Hol]Dotp 驱逐猪猡
- 顿号、分号;这些标点符号的用法