【PAT乙级】题解-1002 写出这个数

PAT 乙级 真题 1002 写出这个数 (20分)(Python) 以下代码均为 Python3   题目: 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。   输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu     关键点: 1、 阅读详情

PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误。

第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助。

PAT 乙级:只涉及基础编程,最难到排序算法。适合基础语法学习阶段的同学。

问题描述

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

输入格式

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

输出格式

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

输入输出样例

输入样例输出样例
1234567890987654321123456789yi san wu

样例解释:

题解 1

思路分析:使用字符数组接收输入,求和后,拆出 和 的每一位上的数字,而后,输出其对应的汉语拼音。其中,字符串数组 pins,下标 0~9,对应数字 0~9,各下标处元素值,为对应汉语拼音。

#include<iostream>
using namespace std;

int main() {

	char chs[101];
	cin >> chs;

	// 求字符总和
	int sum = 0;
	int i = 0;	// 记录字符个数
	while(chs[i] != '\0') {
		sum += (chs[i++] - '0');
	}

	// 将字符总和 转为汉语拼音
	int t_sum = sum;
	int k = 0;	// 记录 sum 的位数
	// 将 t_sum 逆序存储在 chs 中
	while(t_sum) {
		chs[k++] = t_sum % 10 + '0';
		t_sum /= 10;
	}

	// 遍历 chs[0...k),输出对应的中文拼音
	string pins[10] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
	
	// 逆序存储,逆序输出
	for(int i = k - 1; i > 0; i--) {
		cout << pins[chs[i]-'0'] << " ";
	}
	cout << pins[chs[0]-'0'] << endl;

	return 0;
} 
pat乙级1001 1002题答案 1001: 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄... 阅读详情

相关推荐

PAT乙级题解合集

这么就没练了来练练手,听说乙级都是水题暑假开始正式连前就先把乙级刷完吧,免得开始训练的时候手生,第一步计划是刷完乙级,然后开始水CF 题目在牛客网上刷的据说牛客上的数据比PAT官网要难点儿

进击的ACMer!!! 4001

B1002-PAT乙级JAVA题解 写出这个数

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

qq_49695680的博客 249

PAT乙级-题解(Java)

我的题解放在github仓库了(喜欢的话,记得star哈) 下面是汇总导航,如果你只想看其中某个题的话,点击题解直达。 乙级的题目每个题都是一个有趣的故事,引导你去思考解决问题的能力,不是单纯的刷题。然后只涉及数组,循环,判断,字符串等基础编程语言语法的知识,不会设计复杂的算法与数据结构。 一开始可能会有点吃力,正常,但是如果你全部刷完,leetcode上部分简单题对你来说是小case了。 甲级主要是算法与数据结构,乙级刷完了,也可刷甲级, 甲级的题目特别好,测试用例丰富 如果是急需找工作,面试的话刷lee

weixin_45685225的博客 1896

JavaScript PAT乙级题解 1002写出这个数

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

weixin_47925230的博客 253

保姆级教程:用TIA Portal V17给S7-1200 PLC和HMI做个联调仿真(附抢答器完整项目包)

本文提供了一份详细的TIA Portal V17教程,指导如何实现S7-1200 PLC与HMI的联合仿真开发。通过抢答器项目实例,涵盖从环境搭建、PLC编程到HMI设计的全流程,帮助工程师高效完成工业自动化系统的虚拟调试,显著提升开发效率。

weixin_30417487的博客 630

知识图谱本体建模之RDF、RDFS、OWL详解

(一)知识图谱本体建模之RDF、RDFS、OWL详解 1.语义网体系 知识图谱于2012年由Google提出,并不是新概念,而是由语义网络(Semantic Network)衍生而来。语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系。RDF,RDFS与OWL都是基于语义网的知识表示框架,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。RDF,RDFS/OWL 属于语义网技术栈,它们的提出,使得语义网克服了语义网络的缺点。其语义网技术栈如下所示。 2.RD

周周的专栏 1万+

PAT乙级题解——1002 写出这个数 (20分)

#include <iostream> #include <string> #include <cstddef> using namespace std; int main(){ string str[10]= {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; string s; int sum = 0; cin >> s; for(size_.

Matrix990的博客 469

样本不均衡时AUC反而下降?用imbalanced-learn库实战解决分类陷阱

本文探讨了样本不均衡时AUC指标下降的现象,并通过imbalanced-learn库实战演示了如何解决这一分类陷阱。文章详细分析了不同采样技术(如SMOTE、ADASYN)对模型性能的影响,并提供了XGBoost和逻辑回归模型的优化建议,帮助数据科学家在实际项目中做出更明智的决策。

weixin_29174013的博客 343

PAT乙级 :1002 写出这个数 题解【C语言】

题目: 读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数n的值。这里保证n小于 10^100 输出格式: 在一行内输出n的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 样例: 输入: 1234567890987654321123456789 !结尾无空行 输出: yi san wu !结尾无空行 想法: 1.输入数据小于10的100次,...

m0_60815406的博客 192

Keil5安装教程(保姆级)Keil5mdk安装步骤

6、复制生成的激活码,粘贴在New License ID Code处,点击Add LIC,即可成功激活mdk,显示mdk的使用期限。6、复制生成的激活码,粘贴在New License ID Code处,点击Add LIC,即可成功激活C51,显示mdk的使用期限;3、在安装文件中点击keygen.exe文件,粘贴复制过的CID,选择Target为C51,点击Generate,生成激活码;4、在弹出的界面中会自动安装在安装keil的路径,点击“Next”进行后续安装,安装完成后,点击“Finish”。

m6886258的博客 9万+

金融领域强化学习在高频交易中的应用

强化学习(Reinforcement Learning,简称RL)是一种机器学习范式,通过智能体与环境的交互来学习策略,以最大化累计奖励。与监督学习和无监督学习不同,强化学习依赖于动态的反馈机制,智能体通过试错不断优化决策过程。高频交易(High-Frequency Trading,简称HFT)是指在极短时间内进行的大量金融交易,通常利用算法和计算机系统自动执行交易策略。高频交易依赖于高速的数据处理和决策能力,以捕捉市场中的微小价格波动。状态(State):环境在某一时刻的观测,反映了系统的当前情况。

AI天才研究院 893

PAT乙级题解——1002. 写出这个数 (20) 【大整数运算】 【 字符串处理】

题目:读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789 输出样例:yi san wu用到的知识:1、字符与数字的相互转换,...

hwj729748198的博客 245

电力负荷预测 | 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM)

电力负荷预测 | 电力系统负荷预测模型(Python线性回归、随机森林、支持向量机、BP神经网络、GRU、LSTM)

天天酷科研的博客 3189

PAT练习题乙级前三十题题解

PAT乙级(0~30) 刷了刷pat的Basic Level找手感,顺便写了一下题解,贴上来的代码都是尽量简洁明了有注释。也都有做过编译和提交测试,应该都是没什么问题的,如果有错误欢迎指出。 1001 害死人不偿命的(3n+1)猜想 水题,根据题意暴力一下,主要是数据不大 #include<iostream> using namespace std; int main() { ...

一只小空的博客 569

(五)C++自制植物大战僵尸游戏LoadingScene的实现讲解

游戏启动后就会立即切换到游戏加载场景中。只有游戏资源文件加载完成后,才能进入游戏。Loadingscene类继承Cocos2d-x中的Scene父类,表明Loadingscene是一个场景类。切换到LoadingScene场景中,首先会创建该场景,会调用函数,在该函数中调用自己定义的方法实现指定功能。代码文件的位置如下图所示。

尔灵尔亿的博客 2006

<PLC><工控>汇川Easy521PLC与压力传感器485通讯实例

有些PLC在进行串口通讯时,配置完串口参数后,还需要自己编程序来读写,但本例中汇川Easy521配置完成后,想要读取从站什么数据,只需要在“COM0 Modbus配置窗口”配置即可。可以同时配置多个从站。在配置窗口的右侧点击新增按钮,就会自动生成一条从站的配置,默认从站站号为“1”,触发方式是“循环”,功能码是03(读寄存器),从站寄存器地址为0,长度为“1”,映射地址需要自己添加。因为我们是将PLC设置为Modbus主站,所以压力传感器就是从站,我们的需求时PLC从这些从站传感器中读取数据,比如压力值。

用沸腾的热血,支付我们的人生吧! 6461

PAT乙级练习题 1002 python解题 写出这个数 (20 分)

读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式: 在一行内输出n的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu 代码如下 b=input() c=[] num=0 for i in b: nu...

a_gxqwww的博客 1099

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

PAT乙级【Java题解合集】

超级全的PAT的JAVA题解

小羊不会飞的博客 3732

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PAT乙级:1002 写出这个数 (20分)

PAT乙级:1002 写出这个数 (20分) #include<stdio.h> #include<math.h> int main(void) { char a[1000]; gets(a); int sum = 0; for(int i = 0;a[i] != '\0';i++) { sum += a[i] - 48; } int m; int len; len

lflcodeplus的博客 903

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【最新合集】PAT乙级最优题解(题解+解析+代码)

乙级题目+详细题解,整理不易,喜欢的请点个赞哦~ pat乙级题解目录 编号 标题 题解 分类 1001 害死人不偿命的(3n+1)猜想 (15分) C++ 简单模拟 1002 写出这个数 (20分) C++ 常量数组 1003 我要通过! (20分) 待填坑 待填坑 1004 成绩排名 (20分) C++ 结构体 1005 继续(3n+1)猜想 (25分) C++ 打表 1006 换个格式输出整数 (15分) C语言 简单模拟 ...

weixin_43899069的博客 1万+

PAT乙级-1002 写出这个数 (20分)

PAT乙级-1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10 ​的100次方​​ 。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 12345678909876543...

卷子的博客 6081

【JAVA】1002 写出这个数 (20分)PAT乙级 PAT (Basic Level)Practice (中文)

1002 写出这个数 (20分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10 ​100 ​​ 。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456...

子浩的博客 1万+

PAT乙级考试-1002 写出这个数

PAT乙级考试-1002 写出这个数 思路 分为3步 1.录入数据 由于数字很大,正常使用整形变量肯定无法储存,考虑使用一个字符数组来储存数字,再转换为正常数字 2.转换数据 通过累加将字符数组中的数据的各位数之和sum求出 3.打印数据 使用一个字符串数组来存放每个数字对应的中文字符 将各位数之和sum通过取余的方式取出每一位的数字 打印每一位数字的中文字符,注意最后一位不打印空格 #include<stdio.h> int main(void) { int

fish_winter的博客 307

PAT 乙级 1002 写出这个数

1002 写出这个数 (20 point(s)) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​。 输出格式: 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 123456789098...

漫浸天空的雨色的备忘录~ 4674

PAT刷题之乙级1002 写出这个数

PAT刷题之乙级1002(cpp) 我刷PAT已经有一段时间了,但是之前只顾着刷没有放上来,屯了很多题目~ 有时候在写后面的题也会用到前面的一些东西,但是很尴尬的是忘得emmmm !=.=,所以放上来也是为了方便自己回忆。 问题描述: 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n...

ThunderF的博客 579
上一篇: 【PAT乙级】题解-1001 害死人不偿命的(3n+1)猜想
下一篇: 【PAT乙级】题解-1004 成绩排名
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值