1002. 写出这个数 (20)
2018-03-15 14:51
190 查看
题目要求
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式
每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式
在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例
1234567890987654321123456789输出样例
yi san wu解题思路
首先10的100次方数字过大,所以想到字符串,便需要将字符串转为数字,在进行求和。可以定一个字符串数组用来装汉语拼音(0-9),对求和后的数字分别取得其百位,十位,个位数字。并让其对应相应的汉语拼音。源码
#include <iostream> using namespace std; int toNum(char a){ return a - '0'; } int main(){ char a[101]; cin >> a; int sum = 0; for (int i = 0; a[i] != '\0'; i++) { sum = sum + toNum(a[i]); } string str[10] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; int bai = 0; int shi = 0; int ge = 0; bai = sum / 100; shi = (sum % 100) / 10; ge = (sum % 100) % 10; if (bai != 0){ if (shi != 0){ cout << str[bai] << " " << str[shi] << " " << str[ge]; } else{ cout << str[bai] << " " << "ling" << " " << str[ge]; } } else { if (shi != 0){ cout << str[shi] << " " << str[ge]; } else{ cout << str[ge]; } } return 0; }
相关文章推荐
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20) JAVA
- PAT:1002. 写出这个数 (20)
- PAT-B 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)——做题纪录
- 1002写出这个数(20)
- PAT(乙) 1002.写出这个数 (20)
- 1002. 写出这个数 (20)
- 【PAT乙级】【C】1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 【PAT乙级真题及训练集】1002. 写出这个数 (20)
- pat乙级1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- PAT乙级—1002. 写出这个数 (20)-native
- 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)
- PAT乙级1002(C语言)- 写出这个数 (20)