1002. 写出这个数 (20)练习
2015-12-17 14:03
330 查看
题目如下:
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
输出样例:
分析题目要点:
1、自然数n按char读入;
2、在ASCII码表中,0-9是从48-57,所以每一步逐位求和都要减去48;
3、输出要求每个拼音数字之间有1空格,所以先输出第一个拼音数字,后面的循环输出空格和拼音数字。
代码如下:
答案正确。
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
分析题目要点:
1、自然数n按char读入;
2、在ASCII码表中,0-9是从48-57,所以每一步逐位求和都要减去48;
3、输出要求每个拼音数字之间有1空格,所以先输出第一个拼音数字,后面的循环输出空格和拼音数字。
代码如下:
<span style="font-size:14px;">#include <stdio.h> #include <string.h> int main() { char ch[100]; //read input number as char type int a[5]; //pinyin int n = 0; // sum char pinyin[][9] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; int i; //count length of input number int t = 0; //count length of sum gets(ch); for(i = 0; i < strlen(ch); i++){ n = n + ch[i] - 48; //number as char start from 48 in ASCII } while(n!=0){ a[t] = n % 10; n = n / 10; t++; } printf("%s", pinyin[a[t-1]]); //first pinyin for(i = t-2; i >= 0; i--){ printf(" %s", pinyin[a[i]]); } return 0; }</span><span style="font-size:18px;font-weight: bold;"> </span>
答案正确。
相关文章推荐
- RHEL6.4 NFS文件共享服务器搭建
- js判断IE版本
- Mybatis3源码分析(03)-加载Configuration-ResultMap说明
- Strongswan与Andriod野蛮模式L2TPoverIPsec对接有时候不成功。
- linux 服务器FTP服务安装教程
- OC-054.文件管理器 NSFileManager类
- hdu-1157 Who's in the Middle
- MT6755 平台手机皮套驱动实现
- canvas 响应鼠标火焰喷射
- Java获取当前路径
- hadoop Unable to load native-hadoop library
- activity 几种常见切换动画
- hdu-1097 A hard puzzle
- 中级篇——背包问题3(多重背包)
- pyramid在apache+mod_wsgi下的运行配置
- JQuery easyUI datagrid 排序,使用sorter自定义排序
- Java并发编程:线程池的使用
- hdu-1076 An Easy Task
- 欢迎使用CSDN-markdown编辑器
- bootstrap菜单、按钮及导航学习笔记5-1