资源限制

时间限制:1.0s 内存限制:512.0MB

问题描述

  Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。
  比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。
  所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法:
  十二亿三千四百五十六万七千零九
  用汉语拼音表示为
  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>
int main()
{int n;int y,qw,bw,sw,w,q,b,s,g;scanf("%d",&n);y=n/100000000;if(y/10>=1){if(y/10==2){printf("er shi ");}if(y/10==1){printf("shi ");}}if(y%10==9){printf("jiu yi ");}if(y%10==8){printf("ba yi ");}if(y%10==7){printf("qi yi ");}if(y%10==6){printf("liu yi ");}if(y%10==5){printf("wu yi ");}if(y%10==4){printf("si yi ");}if(y%10==3){printf("san yi ");}if(y%10==2){printf("er yi ");}if(y%10==1){printf("yi yi ");}if(y%10==0&&y/10>0){printf("yi");}w=n/10000%10;sw=n/100000%10;bw=n/1000000%10;qw=n/10000000%10;if(qw==9){printf("jiu qian ");}if(qw==8){printf("ba qian ");}if(qw==7){printf("qi qian ");}if(qw==6){printf("liu qian ");}if(qw==5){printf("wu qian ");}if(qw==4){printf("si qian ");}if(qw==3){printf("san qian ");}if(qw==2){printf("er qian ");}if(qw==1){printf("yi qian ");}if(bw==9){printf("jiu bai ");}if(bw==8){printf("ba bai ");}if(bw==7){printf("qi bai ");}if(bw==6){printf("liu bai ");}if(bw==5){printf("wu bai ");}if(bw==4){printf("si bai ");}if(bw==3){printf("san bai ");}if(bw==2){printf("er bai ");}if(bw==1){printf("yi bai ");}if(bw==0&&qw!=0&&sw!=0||bw==0&&qw!=0&&w!=0){printf("ling ");}if(sw==9){printf("jiu shi ");}if(sw==8){printf("ba shi ");}if(sw==7){printf("qi shi ");}if(sw==6){printf("liu shi ");}if(sw==5){printf("wu shi ");}if(sw==4){printf("si shi ");}if(sw==3){printf("san shi ");}if(sw==2){printf("er shi ");}if(sw==1){printf("shi ");}if(sw==0&&bw!=0&&w!=0){printf("ling ");}if(w==9){printf("jiu wan ");}if(w==8){printf("ba wan ");}if(w==7){printf("qi wan ");}if(w==6){printf("liu wan ");}if(w==5){printf("wu wan ");}if(w==4){printf("si wan ");}if(w==3){printf("san wan ");}if(w==2){printf("er wan ");}if(w==1){printf("yi wan ");}if(w==0&&qw!=0||w==0&&bw!=0||w==0&&sw!=0){printf("wan ");}q=n/1000%10;b=n/100%10;s=n/10%10;g=n%10;if(q==9){printf("jiu qian ");}if(q==8){printf("ba qian ");}if(q==7){printf("qi qian ");}if(q==6){printf("liu qian ");}if(q==5){printf("wu qian ");}if(q==4){printf("si qian ");}if(q==3){printf("san qian ");}if(q==2){printf("er qian ");}if(q==1){printf("qian ");}if(q==0&&w!=0&&b!=0||q==0&&w!=0&&s!=0||q==0&&w!=0&&g!=0||q==0&&sw!=0&&b!=0||q==0&&sw!=0&&s!=0||q==0&&sw!=0&&g!=0||q==0&&bw!=0&&b!=0||q==0&&bw!=0&&s!=0||q==0&&bw!=0&&g!=0||q==0&&qw!=0&&b!=0||q==0&&qw!=0&&s!=0||q==0&&qw!=0&&g!=0){printf("ling ");}if(b==9){printf("jiu bai ");}if(b==8){printf("ba bai ");}if(b==7){printf("qi bai ");}if(b==6){printf("liu bai ");}if(b==5){printf("wu bai ");}if(b==4){printf("si bai ");}if(b==3){printf("san bai ");}if(b==2){printf("er bai ");}if(b==1){printf("yi bai ");}if(q!=0&&b==0&&s!=0||q!=0&&b==0&&g!=0){printf("ling ");}if(s==9){printf("jiu shi ");}if(s==8){printf("ba shi ");}if(s==7){printf("qi shi ");}if(s==6){printf("liu shi ");}if(s==5){printf("wu shi ");}if(s==4){printf("si shi ");}if(s==3){printf("san shi ");}if(s==2){printf("er shi ");}if(s==1){printf("shi ");}if(b!=0&&s==0&&g!=0){printf("ling ");}if(g==9){printf("jiu");}if(g==8){printf("ba");}if(g==7){printf("qi");}if(g==6){printf("liu");}if(g==5){printf("wu");}if(g==4){printf("si");}if(g==3){printf("san");}if(g==2){printf("er");}if(g==1){printf("yi");}return 0;
}

有更好办法请尽快t我球球了

蓝桥杯vip试题 基础练习 数的读法(C语言)相关推荐

  1. 蓝桥杯VIP试题 基础练习 龟兔赛跑预测C语言,C++

    试题 基础练习 龟兔赛跑预测 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点--喜欢赛跑.于是 ...

  2. 蓝桥杯试题 基础练习 数的读法(c++ Python)

    试题 基础练习 数的读法 资源限制 时间限制:1.0s   内存限制:512.0MB 问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它 ...

  3. 试题 基础练习 数的读法

    试题 基础练习 数的读法 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从 ...

  4. 蓝桥杯 历届试题 分考场 (DFS)-----C语言—菜鸟级

    问题 1874: [蓝桥杯][2017年第八届真题]分考场 时间限制: 1Sec 内存限制: 128MB 提交: 62 解决: 12 题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人 ...

  5. FJ的字符串java问题_蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA

    问题描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = "ABACABA" A4 = "AB ...

  6. 蓝桥杯--试题 基础练习 数的读法

    问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿. 比如说,在对学生讲解第123456700 ...

  7. 蓝桥杯VIP试题 之 基础练习 Sine之舞 - JAVA

    问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功.所以他准备和奶牛们做一个"Sine之舞"的游戏,寓教于乐,提高奶牛们的计算能力 ...

  8. 蓝桥杯python试题 基础练习 Fibonacci数列

    项目场景: 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包 ...

  9. 蓝桥杯 java 试题 基础练习 字母图形

    资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDE ...

最新文章

  1. 清华校友斩获ACM博士论文奖!相关研究为自动驾驶新算法奠定基础
  2. 怎样成为php高手,怎么成为php高手?如何自学成为php高手?优秀的PHP开发者是怎样炼成的?-PHP教程-基础篇-php语法基础--创业的风,吹向了年轻之长藤个人博客网站...
  3. 借助腾讯云CDN开启全站https及问题解决分享
  4. 电商企业纷纷结缘信息化 管理系统如何给力?
  5. rman-incarnation
  6. Python Django 数据缓存存储位置类
  7. Java递归例子——求x的y幂次方
  8. 中国移动:手机上网流量单价累计同比下降62%
  9. Mapper XML Files详解
  10. Python第十课(函数3)
  11. java调度问题的贪心算法_java代码,多机调度问题,怎么解释
  12. js书写原生ajax,JS 原生ajax写法
  13. Transformer-M:一个能理解2D和3D分子的Transformer
  14. 数据结构单链表:指定结点的前插、后插操作
  15. JFinal在线官方文档
  16. RAID磁盘阵列及RAID配置!
  17. 【翻新重写】WWDC 后苹果最新 App Store 审核条款!「内附最新开发者指南」
  18. 英威腾GD200电路图 GD300原理图 CHF100图纸 pdf格式
  19. 糖豆人android,进击的糖豆人
  20. 我爱开源,我爱php

热门文章

  1. python字典破解zip密码
  2. Linux介绍及安装,以及JDK Tomcat Mysql安装
  3. iOS10新特性之SiriKit
  4. render 函数理解
  5. 个人网站备案之如何取网站名称那点事儿?
  6. 硬件 TCP/IP 协议栈(SPI 发送命令字)
  7. python set类型和set()函数作用、用法等集合,让你学会用set
  8. css更改鼠标箭头样式
  9. 阿里云-ECS-RDS
  10. fastadmin表格之自定义搜索