试题 基础练习 数的读法

资源限制

时间限制: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()
{char a1[5]={"ling"},s[5]={"yi"},d[5]={"er"},f[5]={"san"},g[5]={"si"},h[5]={"wu"},j[5]={"liu"},k[5]={"qi"},l[5]={"ba"},q[5]={"jiu"};char r[5]={"qian"},t[5]={"wan"},e[5]={"bai"},w[5]={"shi"},y[5]={"yi"};int m;scanf("%d",&m);int ge,shi,bai,qian,wan,yi;/********判断位数**********/ if(m>=0&&m<10)             //个位数 {switch(m){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}}/***************************************/else if(m>=10&&m<100)       //  十位数{shi=m/10;ge=m%10;switch(shi){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",w);printf(" ");switch(ge){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}} /***************************************/else if(m>=100&&m<1000)        //百位数{bai=m/100;shi=m/10%10;ge=m%10;switch(bai){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",e);printf(" ");switch(shi){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",w);printf(" ");switch(ge){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}}/***********************************/else if(m>=1000&&m<10000)        //千位数 {qian=m/1000;bai=m/100%10;shi=m/10%10;ge=m%10;switch(qian){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",r);printf(" ");switch(bai){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",e);printf(" ");switch(shi){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",w);printf(" ");switch(ge){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}} /***********************************/else if(m>=10000&&m<100000){wan=m/10000;qian=m/1000;bai=m/100%10;shi=m/10%10;ge=m%10;switch(wan){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",t);printf(" ");printf("yi");printf(" "); switch(qian){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",r);printf(" ");switch(bai){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",e);printf(" ");switch(shi){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}printf(" ");printf("%s",w);printf(" ");switch(ge){case 0:printf("%s",a1);break;case 1:printf("%s",s);break;case 2:printf("%s",d);break;case 3:printf("%s",f);break;case 4:printf("%s",g);break;case 5:printf("%s",h);break;case 6:printf("%s",j);break;case 7:printf("%s",k);break;case 8:printf("%s",l);break;case 9:printf("%s",q);break;}}return 0;/***********************************************//*什么傻逼代码,现在才写了1/5*//*麻蛋!属于才疏学浅了*/
}

看得出来,我先定义了所有数字的中文拼音,然后对输入数进行位数判断,然后挨个输出拼音,但是实在给我搞烦了。

试题 基础练习 数的读法相关推荐

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

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

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

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

  3. 蓝桥杯vip试题 基础练习 数的读法(C语言)

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

  4. 蓝桥杯基础练习-数的读法

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

  5. Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法

    问题描述 当输入12 3456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 用汉语拼音表示为 shi er yi san qian si bai wu shi liu wan qi ...

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

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

  7. [Java] 蓝桥杯BASIC-20 基础练习 数的读法

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

  8. 蓝桥杯 BASIC-20 基础练习 数的读法 问题

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

  9. 基础练习 数的读法(Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。   比如说,在对学生讲解第1)

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

最新文章

  1. error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
  2. TensorRT学习笔记(三)
  3. 微服务可靠性设计--转
  4. FPGA学习(第8节)-Verilog设计电路的时序要点及时序仿真
  5. tbytes 转 十六进制 string
  6. 18. CSS 内边距
  7. 设计模式系列--Singleton
  8. 微信小程序自定义拍照和H5调用摄像头拍照
  9. 【个人笔记一】ART系统类的编译解析加载探究
  10. 当你不能够再拥有,你唯一可以做的,就是令自己不要忘记
  11. 句子迷 APP,MVP 架构,Okhttp + Retrofit + RxJava,图片加载 Glide,数据库 Object-box
  12. 小米9开发版自带root吗_小米手机MIUI9开发版开启ROOT权限方法,这些经验不可多得...
  13. 字符串转utf8编码
  14. 基于STM32F103的步进电机S型曲线加减速算法与实现
  15. Android 8内测版本,安卓qq v8.0.8内测版
  16. C语言逻辑类型与运算
  17. 【美团点评2020校招测试方向笔试题】算法题部分1.删除字符 2.队列组合排序 3.寻找最小子字符串 4.最大矩形 5.最短送餐路程计算
  18. 沙盒勇者服务器维护,沙盒勇者攻略大全 沙盒勇者通关攻略
  19. 【微信小程序】wx:if与hidden的区别
  20. python输出十六进制大小写_Python学习任务2十六进制和大小写转换

热门文章

  1. 计算机右键菜单更换顺序,笔记本电脑怎么样调整右键选项顺序
  2. 官方消息:即将开始退钱
  3. 用EXCEL做九九乘法表
  4. 攻防演练 第三方供应商梳理
  5. 客户端 cloudera-scm-agent启动报错
  6. 【Pytorch学习】Transforms
  7. 网页中的虚线怎么做?
  8. 风影ASP.NET基础教学 9 数据访问
  9. 2023首届大学生算法大赛——补题
  10. 使用minizip解压缩多个文件(基于zlib)