PAT (Basic Level) Practise (中文)1002.写出这个数
来源:互联网 发布:c语言的头文件是什么 编辑:程序博客网 时间:2024/06/09 17:08
1002. 写出这个数 (20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789输出样例:
yi san wu
题解:随着代码能力的提升,现在已经能够解决这样的题目了,注意和可能包含0(ling),我一开始没注意处理这种情况,导致只得到19分的分数。
代码:
#include <cstdio>#include <cstring>const int maxn=105;char a[maxn];int b[maxn];char* msg[]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};int main(){ while(scanf("%s",a)==1){ int n=strlen(a); int sum=0; for(int i=0;i<n;i++) sum+=a[i]-'0'; int num=0; do{ b[num++]=sum%10; sum/=10; }while(sum); for(int i=num-1;i>=0;i--){ printf("%s",msg[b[i]]); if(i>0) printf(" "); else printf("\n"); } } return 0;}
阅读全文
0 0
- PAT (Basic Level) Practise (中文)1002.写出这个数
- PAT (Basic Level) Practise (中文)1002. 写出这个数 (20)(java实现)
- PAT (Basic Level) Practise (中文)—— 1002.写出这个数
- PAT (Basic Level) Practise (中文)1002. 写出这个数 (20)
- PAT (Basic Level) Practise (中文)1002. 写出这个数 (20) C语言
- PAT (Basic Level) Practise (中文)1002. 写出这个数 (20)
- PAT (Basic Level) Practise 1002. 写出这个数
- PAT (Basic Level) Practise (中文)---1002 写出这个数 (20)
- PAT (Basic Level) Practise (中文)1002 写出这个数(20)
- 写出这个数 (20),PAT(Basic Level) Practise NO.1002
- PAT BASIC PRACTISE: 1002. 写出这个数 (20)
- 【PAT Basic Level】1002 写出这个数
- PAT(basic level) 1002 写出这个数
- PAT(Basic Level)_1002_写出这个数
- PAT Basic Level 1002. 写出这个数 (20)
- PAT (Basic Level)1002. 写出这个数 (20)
- PAT(Basic Level) 1002.写出这个数 (20)
- PAT BASIC LEVEL 1002.写出这个数 (20)
- STM32 TIMER初始化步骤
- Oracle中1个行转列例子
- 分析关于close_wait过多对系统造成的影响
- 认识GPL/LGPL
- Shell 脚本编程入门基础
- PAT (Basic Level) Practise (中文)1002.写出这个数
- 函数实例之数组应用(初始化,逆置,输出,清空)
- 在VS中添加lib库的三种方法
- python笔记1
- Python中的Lambda函数关键词的用法
- String操作
- 行转多列lateral view explode详解
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- iOS中的静态库.a的制作