首页 > 其他 > 详细

PAT乙1002 写出这个数

时间:2020-04-24 18:06:30      阅读:50      评论:0      收藏:0      [点我收藏+]

题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

分析:

将输入数据存入字符串,因为n小于10^100,所以每位和用int即可存下,然后输出结果即可。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 // 输出字符串数组
 4 char *res[] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
 5 // 递归输出,用函数作为栈
 6 void output(int sum, int count)
 7 {
 8     if (sum / 10)
 9         output(sum / 10, 1);
10     printf("%s", res[sum % 10]);
11     if (count != 0)
12         printf(" ");
13 }
14 int main()
15 {
16     int sum = 0;
17     char num[100 + 50];
18     cin >> num;
19     for (int i = 0; i < strlen(num); i++)
20         sum += num[i] - 0;
21     output(sum, 0);
22     return 0;
23 }

 

 
 

PAT乙1002 写出这个数

原文:https://www.cnblogs.com/sqdtss/p/12768894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!