PAT 乙级题:1002. 写出这个数 (20)
2015-08-18 00:00
387 查看
摘要: 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 时间限制 400 ms
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格 内存限制 65536 kB
但一行中最后一个拼音数字后没有空格。 代码长度限制 8000 B
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 时间限制 400 ms
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格 内存限制 65536 kB
但一行中最后一个拼音数字后没有空格。 代码长度限制 8000 B
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#include<stdio.h> #include<string.h> int culSum(char *str); int culSum(char *str) { int result = 0; int i; int count = strlen(str); for (i = 0; i < count; i++) result += str[i] - '0'; return result; } void main(void) { char* alph[] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu" }; char num[100]; char ch[3] = {0}; int result; int i; printf("请输入数字:"); scanf("%s", num); result = culSum(num); for (i = 2; i >= 0 && result >= 0; result /= 10, i--) ch[i] = result % 10; for (i = 0; i < 3 && ch[i] == 0; i++) ; if(i >= 3) printf("%s",alph[0]); for (; i < 3; i++) if(i == 2) printf("%s",alph[ch[i]]); else printf("%s ",alph[ch[i]]); printf("\n"); }
相关文章推荐
- 数据库链接字符串查询网站
- Flex字符串比较 还有Flex字符串操作
- Ruby中创建字符串的一些技巧小结
- ASP下经常用的字符串等函数参考资料
- 将字符串小写转大写并延时输出的批处理代码
- 将字符串转换成System.Drawing.Color类型的方法
- Lua源码中字符串类型的实现
- Lua性能优化技巧(四):关于字符串
- 字符串聚合函数(去除重复值)
- Ruby中的字符串编写示例
- 总结的5个C#字符串操作方法分享
- sqlserver中求字符串中汉字的个数的sql语句
- sql server字符串非空判断实现方法
- VBS的字符串及日期操作相关函数
- C#实现将千分位字符串转换成数字的方法
- jquery 删除字符串最后一个字符的方法解析
- PowerShell实现在字符串中查找大写字母
- PowerShell中使用Out-String命令把对象转换成字符串输出的例子
- PowerShell中字符串使用单引号和双引号的区别
- Powershell小技巧之获取字符串的行数