文章标题
来源:互联网 发布:java web前后端交互 编辑:程序博客网 时间:2024/06/05 02:32
问题 E: 数的读法
时间限制: 1 Sec 内存限制: 128 MB
提交: 32 解决: 12
[提交][状态][讨论版]
题目描述
基础练习 数的读法
时间限制:1.0s 内存限制:512.0MB
问题描述
十二亿三千四百五十六万七千零九
用汉语拼音表示为
shi er yi san qian si bai wu shi liu wan qi qian ling jiu
这样他只需要照着念就可以了。
你的任务是帮他设计这样一个系统:给定一个阿拉伯数字串,按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符格开。
注意必须严格按照规范,比如说“10010”读作“yi wan ling yi shi”而不是“yi wan ling shi”,“100000”读作“shi wan”而不是“yi shi wan”,“2000”读作“er qian”而不是“liang qian”。
输入格式
有一个数字串,数值大小不超过2,000,000,000。
输出格式
是一个由小写英文字母,逗号和空格组成的字符串,表示该数的英文读法。
样例输入
1234567009
样例输出
shi er yi san qian si bai wu shi liu wan qi qian ling jiu
#include<stdio.h> #include<string.h> int main() { char a[100]; int j,k,n; char b[20][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; char c[20][10]={"","","shi","bai","qian","wan","shi","bai","qian","yi","shi"}; gets(a); n = strlen(a); for(int i = 0;i < n;i++) { j = a[i] - 48; if(j == 0) { if(i < n - 1) if(a[i+1] != 48) printf("%s ",b[j]); } else if((n - i == 2 || n - i == 6 || n - i == 10) && j == 1) printf("%s ",c[n-i]); else if(a[i-1] == 48 && j == 1) printf("%s ",c[n-i]); else printf("%s %s ",b[j],c[n-i]); } printf("\n"); return 0; }
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- gulp配置过程遇到的坑
- 求逆序对(归并排序)
- 写给多年后的自己(new begin 2017 .7)
- 牛客华为机试题刷题笔记(四)
- 7/2作业
- 文章标题
- 将iPhone短信完整迁移到安卓系统上的方法
- Bootstrap 移动设备 响应式图像
- 物体检测的总结
- 延迟加载
- The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
- Oracle中常用SQL语句(二)
- C++类和对象-Complex的编写
- 序列化写Java对象