写出这个数 (20),PAT(Basic Level) Practise NO.1002
来源:互联网 发布:草图大师for mac 编辑:程序博客网 时间:2024/06/05 08:32
写出这个数 (20)
PAT(Basic Level) Practise NO.1002
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。
这里保证n小于10^100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,
但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#include <stdio.h>int sum_of_digital(); //声明求各位数之和的函数void myprintf(int n); //声明格式输出的函数void pinyin_printf(int n); //声明拼音输出的函数int main(int argc, char const *argv[]){ int n = 0; //用于存储各位数之和 n = sum_of_digital(); //输入各位数 myprintf(n); //按格式要求输出 return 0;}int sum_of_digital() //定义求各位数之和的函数{ int temp = 0, num = 0; char c = '\0'; while( ( c = getchar() ) != '\n' ) //只要输入的字符不是'\n',即为真 { num = c - '0'; //输入的数字 temp = temp + num; } return temp;}void myprintf(int n) //定义格式输出的函数{ int temp = 0, i = 0; char s[4] = {'\0'}; do{ temp = n%10; //取n尾数 s[i++] = temp; //将取出的尾数逆序放在数组中 n = n/10; //将n缩小一位 }while(n > 0); do{ temp = (int)s[--i]; pinyin_printf(temp); //将取出的尾数以拼音的格式输出 if ( i != 0) printf(" "); }while(i !=0); printf("\n");}void pinyin_printf(int n) //声明拼音输出的函数{ switch (n){ case 0: printf("ling"); break; case 1: printf("yi"); break; case 2: printf("er"); break; case 3: printf("san"); break; case 4: printf("si"); break; case 5: printf("wu"); break; case 6: printf("liu"); break; case 7: printf("qi"); break; case 8: printf("ba"); break; case 9: printf("jiu"); break; default: printf("error\n"); }}
本人原创代码,对于各位读者的阅读不胜感激。
如有疑惑,可以在下方评论区中提出疑惑,博主将会与读者一起讨论问题。
谢谢!
阅读全文
0 0
- 写出这个数 (20),PAT(Basic Level) Practise NO.1002
- PAT (Basic Level) Practise (中文)---1002 写出这个数 (20)
- PAT (Basic Level) Practise (中文)1002 写出这个数(20)
- PAT (Basic Level) Practise 1002. 写出这个数
- PAT (Basic Level) Practise (中文)1002.写出这个数
- 【PAT Basic Level】1002 写出这个数
- PAT(basic level) 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. 写出这个数 (20)(java实现)
- PAT BASIC PRACTISE: 1002. 写出这个数 (20)
- PAT(Basic Level)_1002_写出这个数
- PAT (Basic Level) Practise (中文)—— 1002.写出这个数
- Pat(Basic Level)Practice--1002(写出这个数)
- PAT Basic Level 1002. 写出这个数 (20)
- PAT (Basic Level)1002. 写出这个数 (20)
- PAT(Basic Level) 1002.写出这个数 (20)
- 2017.12.7第十五周周中总结
- 函数扩展
- 深入理解iframe
- 设计模式之职责链模式
- Hibernate的Transaction详解
- 写出这个数 (20),PAT(Basic Level) Practise NO.1002
- linux command
- java多线程wait,sleep,notify,notifyAll
- WINDOWS SERVER 2012证书服务安装配置
- OpenGL学习笔记(二)
- 企业级缓存系统varnish应用
- vmware workstation 几种网络模式+使用笔记######(结论经验:虚拟机的NAT网卡必须配置虚拟机的子网IP+网关,才能被本地ping通)
- 跨公网调用的大坑与架构优化方案
- Cheapest Palindrome