Programming Ability Test 乙级真题及训练集1002
来源:互联网 发布:n9软件下载 编辑:程序博客网 时间:2024/06/05 02:18
1002. 写出这个数 (20)
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:
在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
解题过程
#include <iostream>#include <stdlib.h>#include <string> using namespace std;void py(int n);int main(int argc, char *argv[]){ int len,i,sum=0,b[100],j=0; char ch[1000]; gets(ch); len=strlen(ch); i=len; for(i=0;i<len;i++) { sum=sum+(ch[i]-'0'); } while(sum!=0) { b[j]=sum%10; sum=sum/10; ++j; } for(int i=j-1;i>0;--i){ py(b[i]); cout<<" "; } py(b[0]); cout<<endl; return 0;}void py(int n){ switch(n) { case 0:cout<<"ling";break; case 1:cout<<"yi";break; case 2:cout<<"er";break; case 3:cout<<"san";break; case 4:cout<<"si";break; case 5:cout<<"wu";break; case 6:cout<<"liu";break; case 7:cout<<"qi";break; case 8:cout<<"ba";break; case 9:cout<<"jiu";break; }}
很遗憾,在提交时报错,要是哪位大佬能够解释一下就好了
代码实现
#include <iostream>#include <stdlib.h>#include <string> #include <stdio.h> using namespace std;void py(int n);int main(int argc, char *argv[]){ int len, i, sum = 0, b[100], j = 0; string ch; cin >> ch; len = ch.length(); i = len; for (i = 0; i<len; i++) { sum = sum + (ch[i] - '0'); } while (sum != 0) { b[j] = sum % 10; sum = sum / 10; ++j; } for (int i = j - 1; i>0; --i) { py(b[i]); cout << " "; } py(b[0]); cout << endl; return 0;}void py(int n){ switch (n) { case 0:cout << "ling"; break; case 1:cout << "yi"; break; case 2:cout << "er"; break; case 3:cout << "san"; break; case 4:cout << "si"; break; case 5:cout << "wu"; break; case 6:cout << "liu"; break; case 7:cout << "qi"; break; case 8:cout << "ba"; break; case 9:cout << "jiu"; break; }}
阅读全文
0 0
- Programming Ability Test 乙级真题及训练集1002
- Programming Ability Test 乙级真题及训练集1065
- Programming Ability Test 乙级真题及训练集1001
- Programming Ability Test 乙级真题及训练集1004
- ZOJ 3927 Programming Ability Test
- zoj-3927-Programming Ability Test
- 【PAT乙级真题及训练集】【1003】我要通过!(20)
- 【PAT乙级真题及训练集】1002. 写出这个数 (20)
- 【PAT乙级真题及训练集】1003. 我要通过!(20)
- PAT乙级真题及训练集(2)--1011. A+B和C (15)
- PAT乙级真题及训练集(3)--1016. 部分A+B (15)
- PAT乙级真题及训练集(4)--1026. 程序运行时间(15)
- PAT乙级真题及训练集(5)--1046. 划拳(15)
- PAT乙级真题及训练集(6)--1008. 数组元素循环右移问题 (20)
- PAT乙级真题及训练集(7)--1012. 数字分类 (20)
- PAT乙级真题及训练集(8)--1018. 锤子剪刀布 (20)
- PAT乙级真题及训练集(9)--1010. 一元多项式求导
- PAT乙级真题及训练集(10)--1041. 考试座位号(15)
- 自定义控件实现banner轮播
- 最大流的Ford-Fulkerson 标号法
- 学习记录2
- 按各个输出格式输出数据
- JAVA使用Gson排除特定字段
- Programming Ability Test 乙级真题及训练集1002
- HDU-2255(记录km算法的板子,km求最大权,最小权匹配)
- 使用BEGAN生成美女图片
- 第四章 多态
- 五、读第十一、十二章
- 求二次方程的根。求平方根的函数是sqrt,头文件
- unity之--相机跟随移动
- Node.js项目搭建
- Codeforces Round #449 (Div. 2) (B、C)