基础练习 数的读法  
时间限制: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>
#include<string.h>
int main()
{
char a[];
int i,j,k,l;
char b[][]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
char c[][]={"","","shi","bai","qian","wan","shi","bai","qian","yi","shi"};
gets(a); /*输入数字a*/
l=strlen(a); /*得其长度*/
for(i=;i<l;i++){
j=a[i]-; /*j为a的每一位上的数*/
if(j==){/*当j为0时*/
if(i<l-)
if(a[i+]!=)
printf("%s ",b[j]);
}
else if((l-i==||l-i==||l-i==)&&j==)
printf("%s ",c[l-i]);
else if(a[i-]==&&j==)
printf("%s ",c[l-i]);
else
printf("%s %s ",b[j],c[l-i]);
}
printf("\n");
return ;
}

C语言 · 数的读法的更多相关文章

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

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

  2. C语言 · 数的统计

    问题描述 在一个有限的正整数序列中,有些数会多次重复出现在这个序列中. 如序列:3,1,2,1,5,1,2.其中1就出现3次,2出现2次,3出现1 次,5出现1次. 你的任务是对于给定的正整数序列,从 ...

  3. C语言 · 数的划分

    算法训练 数的划分   时间限制:1.0s   内存限制:256.0MB        锦囊1 使用动态规划. 锦囊2 用F[i,j,k]表示将i划分成j份,最后一份为k的方案数,则F[i,j,k]= ...

  4. C语言 · 数的运算

    算法提高 数的运算   时间限制:1.0s   内存限制:512.0MB      输入一个正整数(范围[1..10000]),打印其平方(不保留小数位).平方根.倒数.(用指针实现,保留2位小数,输 ...

  5. C语言 · 数对

    算法训练 数对   时间限制:1.0s   内存限制:512.0MB      问题描述 编写一个程序,该程序从用户读入一个整数,然后列出所有的数对,每个数对的乘积即为该数. 输入格式:输入只有一行, ...

  6. BASIC-20_蓝桥杯_数的读法

    示例代码: #include <stdio.h>#include <string.h>#define N 10 char num[N] = {0} ; void yuyin(i ...

  7. NSIS学习记录の----NSIS多语言安装以及详解

    NSIS多语言安装,很多教程提供了详细的代码,但是代码中某些语句的含义我还是不很明白,作为一个吃螃蟹的人,我做一个解释,避免很多小伙伴和我哟U一样的误区,以下结论都是自己根据实践得来,若发现理解错误, ...

  8. ThinkPhp 使用PhpExcel导出导入多语言文件

    在ThinkPHP 里已经实现了多语言功能,只要在指定的目录下创建对应的语言文件并填充内容,即可实现多语言功能 而多语言的翻译却是一个很麻烦的事情,因为客户特定的行业问题导致我们翻译可能是不准确的 于 ...

  9. C语言I博客作业12-学期总结

    一.我学到的内容 二.我的收获 1. https://www.cnblogs.com/1076022899-lj/p/11576442.html 收获:第一次接触到C语言和PTA,第一次学习了博客园和 ...

随机推荐

  1. [HNOI2002]营业额统计 Splay tree入门题

    题目连接:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 1588: [HNOI2002]营业额统计 Time Limit: 5 Sec   ...

  2. HTML-Html开发之Viewport的使用

    近年来随着移动端的快速发展,越来越多传统的web应用需要适配移动终端,下面记录一下如何通过viewport实现简单的不同型号的手机端的适配问题.不过在此之前,介绍一下如何通过Chrome浏览器,调试在 ...

  3. WordPress 如何修改编辑器TinyMCE里的内容

    //获取编辑器对象,wp中的编辑器ID是"content" var editor = tinymce.get('content'); //获取编辑器内容 var content = ...

  4. 将项目的版本控制从Vss迁移到Git

    之前在Vs2008上一直使用的是Vss版本控制,现在将版本控制更改为Git 迁移原因是其他公司想要在我们公司开发的一个CRM系统做一些定制(个性化需求,将软件上的公司名称和链接更改为他们的或一些跟我们 ...

  5. send返回值

    http://blog.csdn.net/anghlq/article/details/5990513 在Unix系统下,如果send . recv . write在等待协议传送数据时 , socke ...

  6. 使用JavaMelody监控tomcat以及jvm

    JavaMelody用于对Java应用或者应用服务器的QA以及开发环境的监控.它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为 ...

  7. umount: /data: device is busy

    如果一个文件系统处于"busy"状态的时候,不能卸载该文件系统.如下情况将导致文件系统处于"busy"状态:1:文件系统上面有打开的文件2:某个进程的工作目录在 ...

  8. shell学习三十二天----read读取一行

    标准输入输出与标准错误输出 标准输入/输出可能是软件工具设计原则里最主要的观念了.他的构想是:程序应有一个数据来源,数据出口(数据要去哪里),以及报告问题的地方.他们分别叫做标准输入,标准输出和标准错 ...

  9. JDBC 可更新和对更新敏感的结果集

    public class OtherApi {     /**      * @param args      * @throws SQLException      * @throws Interr ...

  10. jQuery Event.which 属性详解

    jQuery Event.which 属性详解 which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对 ...