PTA 乙级 1002 写出这个数 (20 分) C++
1002 写出这个数
题目描述
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100.
输出格式
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
解题思路
- 定义转换函数change,把数字转换成中文
- 定义打印函数print,负责打印
- 对数字进行求和
- 进行打印
注意n不超过10^100,所以求和的值sum不超过1000,最大为999(100个9相加),故只需要考虑三种情况(sum 一位,两位,三位)
C++代码
#include<iostream>
#include<string>
using namespace std;
string change(int n)
{switch(n)//将数字转换成中文{case 0:return "ling";case 1:return "yi";case 2:return "er";case 3:return "san";case 4:return "si";case 5:return "wu";case 6:return "liu";case 7:return "qi";case 8:return "ba";case 9:return "jiu";}
}
//n最大不超过1000
void print(int n)//打印n
{if(n<10)//一位cout<<change(n);//n只有一位,直接打印else if(n<100)//两位{cout<<change(n/10);//打印n的高位cout<<" ";cout<<change(n%10);//打印n的低位}else{//三位cout<<change(n/100);//打印n的高位cout<<" ";cout<<change((n/10)%10);//次高位cout<<" ";cout<<change(n%10);//最低位}
}
int main()
{char c[1000];cin>>c;char *p = c;//指向c的第一位,即c[0]int sum = 0;while(*p!='\0')//求和{sum+=(*p-'0');p++;}print(sum);return 0;
}
PTA 乙级 1002 写出这个数 (20 分) C++相关推荐
- C++学习之路 | PTA乙级—— 1002 写出这个数 (20分)(精简)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- 1002 写出这个数 (20分)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- 【PAT乙】1002 写出这个数 (20分)
1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 ...
- 1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 ...
- PAT 乙级 1002. 写出这个数 (20) Java版
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...
- 满分简便解法:1002 写出这个数 (20分)
立志用更少的代码做更高效的表达 Pat乙级题解汇总-->传送门 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 ...
- 1002 写出这个数 (20分)-Java
题目 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10 100. 输出格式: 在 ...
- PAT 1002 写出这个数 (20分)(Java)
题目描述 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10的100次方. 输出格式: ...
- 1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 10的100次方 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一 ...
- textarea限制字符数_PAT乙级-1002 写出这个数
PAT乙级-1002 写出这个数 本文作者:Shen,JQ 来源 https://pintia.cn/problem-sets/994805260223102976/problems/99480532 ...
最新文章
- python中complex函数的用法_Python 内置函数complex详解
- Qt地址簿-加个信号及槽
- Python OS 文件操作模块常用函数
- el-select 多选取值_AR? ATOS?? DRA???这些都是英语阅读分级?聊一聊我知道的兰斯值(lexile measure))...
- java 数字字母进位_使用带有进位的8085微处理器将两个8位数字相乘
- 老王讲设计模式(八)——适配器模式
- 微信小程序 encryptedData 的解密(JAVA)
- [转载] Java:简述Java中的自定义异常
- 计算机组成原理中计算机主要包括哪几部分,计算机组成原理本科生期末试卷(五)部分答案详解...
- P5056 【模板】插头dp
- zzuli OJ 1047: 对数表
- 蚁群算法原理及python实现
- 卡耐基梅隆大学计算机熬夜,卡耐基梅隆大学:作为一所CS牛校,我也很无奈啊...
- [转载]autorun.inf病毒源代码
- HTML5/CSS3 炫酷键盘 不规则布局 内含知识点总结
- 问题解决:java.lang.IllegalArgumentException: character to be escaped is missing
- Mentor PADS铺铜指示器的关闭操作
- 半世纪以来最佳英文小说:《英国病人》
- 计算机中丢失3dmgame,3dmgamedll.dll
- drozer 测试总结
热门文章
- pop3协议解析及代码实现
- Xcode 9 上传ipa包异常
- 红外遥控切歌(好运来/天空之城)、红外模块的应用
- dsolve函数的功能_MATLAB 求解常微分方程的函数是dsolve()。
- 音频功率放大电路(使用过的语音方案电路记录)
- java.lang.NumberFormatException: For input string: “22-02-22 07:13:3
- 达梦数据库dm8使用心得
- 如何解决DNS解析错误
- 斜线“\”与反斜线“/”应用场景的整理(转)
- golang 文件命名规则