1002. 写出这个数 (20)-PAT乙级
来源:互联网 发布:手表选择 知乎 编辑:程序博客网 时间:2024/05/20 19:18
题目:
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
解答:
#include<iostream>using namespace std;int main(){ string n; cin >> n; int l = n.length(); int *a = new int[l];//## int sum=0; string str[10] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" }; for (int i = 0; i < l; i++)sum += (n[i] - '0');//## int *b = new int[l];## int j = 0; if (sum == 0) //特殊值0,pat上没有加入测试点,但代码的严谨要求我们还是要写的。 cout << "ling"; else { for (; sum > 0; j++) { b[j] = sum % 10; sum /= 10; } } for (int i = j - 1; i >= 1; i--)cout << str[b[i]]<<" "; cout << str[b[0]]; delete[] a;//## delete[] b;//## return 0;}
总结:
- int *a = new int[l];##以这种方式来建立不知道确切长度的数组
delete[] b;##不要忘了在结尾要清空 - 利用数组n[i] - ‘0’的方式获得某个string面值相同的数字(int)
0 0
- PAT 乙级 1002. 写出这个数 (20)
- PAT-乙级-1002. 写出这个数 (20)
- PAT乙级.1002. 写出这个数 (20)
- PAT乙级 1002. 写出这个数 (20)
- PAT乙级1002. 写出这个数 (20)
- 1002. 写出这个数 (20)-PAT乙级
- PAT 乙级 1002. 写出这个数 (20)
- PAT乙级 1002. 写出这个数 (20)
- PAT乙级1002. 写出这个数 (20)
- PAT乙级 1002. 写出这个数 (20)
- [PAT乙级]1002. 写出这个数 (20)
- PAT乙级1002. 写出这个数 (20)
- pat 乙级 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)--PAT乙级
- PAT乙级1002. 写出这个数 (20)
- 浙大PAT乙级 1002. 写出这个数
- PAT乙级练习题1002. 写出这个数
- PAT(乙级) 1002.写出这个数
- yarn 安装 使用以及安装时出现的问题
- Android数据库--LitePal
- Qt之应用程序打包发行
- font-family
- 卷积神精网络的工作原理
- 1002. 写出这个数 (20)-PAT乙级
- Linux下的权限管理与相关时间概念
- 明星python编程视频VIP教程
- 递归递推之递归的函数
- intellij import包 顺序调整
- 图及图的存储
- mysql截取函数常用方法使用说明
- 4.ThreadLocal实现线程范围的共享变量
- leetcode