当前位置:网站首页>PAT乙级 1002 写出这个数
PAT乙级 1002 写出这个数
2022-08-01 04:38:00 【早睡身体好hh】
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384
题目描述
读入一个正整数 n n n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式
每个测试输入包含 1 1 1 个测试用例,即给出自然数 n n n 的值。这里保证 n n n 小于 1 0 100 10^{100} 10100。
输出格式
在一行内输出 n n n 的各位数字之和的每一位,拼音数字间有 1 1 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例
1234567890987654321123456789
输出样例
yi san wu
题目解析
输入的 n 最大为 1 0 100 10^{100} 10100,超出了 int 和 long long 的表示范围,所以 n 要用字符串存储。
假设输入的 n 为 12345678 12345678 12345678,如下图所示。

那么 n 的各位数字之和 sum 即为 36 36 36,我们将 sum 的 个位 ~ 最高位 依次存储到 digits[0] ~ digits[cnt-1] 中。

最后从 sum 的最高位(即digits[cnt-1])开始输出,注意要单独输出 sum 的个位(末尾不加空格)。
C/C++代码
#include <iostream>
#include <string>
using namespace std;
string py[10] = {
"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
int digits[10];
int main()
{
// 输入大整数n
string n;
cin >> n;
// 计算n的各位数字之和sum
int sum = 0;
for (auto x : n)
{
sum += x - '0';
}
// 将sum的个位~最高位依次存储到digits[0]~digits[cnt-1]中
int cnt = 0;
while (sum)
{
digits[cnt++] = sum % 10;
sum /= 10;
}
// 从sum的最高位(即digits[cnt-1])开始输出
for (int i = cnt - 1; i > 0; i--)
{
cout << py[digits[i]] << " ";
}
// 单独输出sum的个位(末尾不加空格)
cout << py[digits[0]] << endl;
return 0;
}
边栏推荐
- Introduction to the Elastic Stack
- ICML2022 | Deep Dive into Permutation-Sensitive Graph Neural Networks
- Input输入框光标在前输入后自动跳到最后面的bug
- 李迟2022年7月工作生活总结
- mysql中解决存储过程表名通过变量传递的方法
- EntityFramework saves to SQLServer decimal precision is lost
- 一个往年的朋友
- The method of solving stored procedure table name passing through variable in mysql
- JS new fun(); class and instance JS is based on object language Can only act as a class by writing constructors
- Software Testing Interview (3)
猜你喜欢

safari浏览器怎么导入书签

博客系统(完整版)

Dry goods!How to Construct SRv6-TE Performance Test Environment Using Instrumentation

MySQL4

让你的 Lottie 支持文字区域内自动换行

Message queue MySQL table for storing message data

typescript25-类型断言

The 16th day of the special assault version of the sword offer

开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

typescript24 - type inference
随机推荐
What is a programming language
这里有110+公开的专业数据集
Mysql基础篇(Mysql数据类型)
【愚公系列】2022年07月 Go教学课程 023-Go容器之列表
【云原生之kubernetes实战】kubernetes集群的检测工具——popeye
typescript24-类型推论
typescript27-枚举类型呢
The maximum quantity leetcode6133. Grouping (medium)
动态规划 01背包
The method of solving stored procedure table name passing through variable in mysql
High Numbers | 【Re-integration】Line Area Score 880 Examples
怀念故乡的面条
Mysql中的数据类型和运算符
UE4 模型OnClick事件不生效的两种原因
李迟2022年7月工作生活总结
Write a method to flatten an array and deduplicate and sort it incrementally
What is dynamic programming and what is the knapsack problem
在互联网时代,有诸多「互联网+」模式的诞生
mysql中解决存储过程表名通过变量传递的方法
干货!如何使用仪表构造SRv6-TE性能测试环境