(PAT乙)1002. 写出这个数
2017-08-11 14:03
211 查看
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); }
相关文章推荐
- 【PAT】B1002. 写出这个数
- 浙江大学PAT乙级试题.1002. 写出这个数 (20)C语言
- PAT 1002. 写出这个数
- PAT 1002. 写出这个数 (20) —— Java
- PAT-B 1002. 写出这个数
- PAT(乙)-1002. 写出这个数 (20)
- pat-b1002. 写出这个数 (20)
- Java - PAT - 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)-PAT乙级真题
- PAT_1002 写出这个数
- PAT(B)1002. 写出这个数 (20)
- PAT1002.写出这个数
- PAT 乙级 真题 1002. 写出这个数
- pat 1002 写出这个数
- NNU_20161103_PAT1002. 写出这个数
- PAT,1002,写出这个数
- PAT乙级 1002. 写出这个数 (20)
- PAT 1002. 写出这个数 (20)
- PAT 1002 写出这个数
- PAT 1002 写出这个数