(PAT乙)1002. 写出这个数
来源:互联网 发布:属于网络教育的特征是 编辑:程序博客网 时间:2024/05/21 09:41
1002. 写出这个数
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char n[101]; scanf("%s", n); char temp[2]; int i, sum=0; for(i=0;i<strlen(n);i++){ temp[0]=n[i]; sum += atoi(temp); } char result[100] = {'\0'}; char output[100] = {'\0'}; sprintf(result, "%d", sum); int size = strlen(result); for(i=0;i<size;i++){ switch(result[i]){ case '1': strcat(output, (i==(size-1))?"yi": "yi "); break; case '2': strcat(output, (i==(size-1))?"er": "er "); break; case '3': strcat(output, (i==(size-1))?"san": "san "); break; case '4': strcat(output, (i==(size-1))?"si": "si "); break; case '5': strcat(output, (i==(size-1))?"wu": "wu "); break; case '6': strcat(output, (i==(size-1))?"liu": "liu "); break; case '7': strcat(output, (i==(size-1))?"qi": "qi "); break; case '8': strcat(output, (i==(size-1))?"ba": "ba "); break; case '9': strcat(output, (i==(size-1))?"jiu": "jiu "); break; case '0': strcat(output, (i==(size-1))?"ling": "ling "); break; } } printf("%s", output);}
阅读全文
0 0
- (PAT乙)1002. 写出这个数
- PAT 乙 1002. 写出这个数 (20)
- pat 乙 1002. 写出这个数
- PAT+乙1002. 写出这个数
- pat(B) 1002. 写出这个数
- PAT(乙级) 1002.写出这个数
- PAT(乙)-1002. 写出这个数 (20)
- PAT(乙) 1002.写出这个数 (20)
- PAT 1002. 写出这个数
- PAT 1002. 写出这个数
- PAT-1002. 写出这个数
- PAT 1002. 写出这个数
- Pat 1002. 写出这个数
- PAT-写出这个数
- PAT.写出这个数
- PAT 1002 乙等 (写出这个数)c++
- PAT(Basic)-1002.写出这个数(20)
- 【PAT】(乙级)1002. 写出这个数 (20)
- Android系统启动流程总览
- Linux 技巧:让进程在后台可靠运行的几种方法
- ROC、AUC、K-S
- hdu4415 Assassin’s Creed
- 利用Spring Boot配置的TestNG测试用例详解
- (PAT乙)1002. 写出这个数
- 蚂蚁搬新家了_还在办公室搞了个音乐节
- 使用sendmail发送email
- winform 性能优化
- 补码的求法
- 解决硬盘挂载错误 重启失败问题
- 大数据风控模型靠谱吗?
- InnoDB和MYIASM区别
- 引用类型---Array