1002 写出这个数 ——c++实现

article/2025/8/29 18:26:32

1.题目介绍

2. 思路

这道题目较好理解,只是实现起来有几点要注意:

(1)正整数的范围。题目中规定n<10^100,这是个很大的数字。long long类型最大到2^63-1,也远小于这个数。但我最开始没有考虑这一点,用的long long。参考别人的代码时发现有用char型数组的,或者干脆直接用char进行循环读入的,最终我采用后者方式,感觉这样不会占用太多内存。

(2)将求和结果转为汉语拼音输出。这就需要对整形的求和结果进行单个数字的拆分。我开始想的是将数字转换为int数组。如果用除10取余的方式分隔每个数字,显然从低位向高位分隔比较容易,所以我转换的int数组是逆序的。这也不要紧,再逆序对应每个数字输出拼音就好了。我用这个方法实现了,是可以的,就是显得有点笨。

        参考大佬代码时,发现string竟然有to_string()这个方法,这可太好了,果断用起,技能+1

(3)题目要求拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。我本能的反应就是除了末尾,每次输出一个拼音和一个空格。但这就需要判断哪里是末尾了。对字符串类型好说,用size()方法或length()方法就可以,但对数组来说并不好判断(怪我知道的太少55)。再次参考大佬代码,嗯,先输出空格再输出拼音就方便得多了,因为这样只需判断开头就可以了~

(3)最后一点就是,对字符类型的数字做运算时,一定要记得-'0'

3. 具体代码实现

#include <iostream>
#include <string>    //c++的字符串类型要包括头文件
using namespace std;
int main() {int count = 0;char ch;while((ch=getchar())!='\n')    //循环读入每个数字count+=ch-'0';              //读入的同时做求和运算string piny[] = { "ling", "yi", "er", "san", "si", "wu", "liu","qi","ba","jiu"};string num = to_string(count);     //将求和结果转变为字符串类型for (int i = 0; i < num.size(); i++) {   //字符串类型可以用size()和length()方法求长度if(i != 0) cout << " ";   //保证拼音数字间有1空格,但最后一个拼音数字后没有空格cout << piny[num[i] - '0'];}return 0;
}

4.收获

(1)数字很大并且不需要对整体进行运算时,可以考虑字符或字符数组的方式进行读入或存储

(2)to_string()方法可以将int转换为string类型

(3)发现c++的string类型可以通过下标获取元素,java好像不可以..(要记住)


http://chatgpt.dhexx.cn/article/07lm0RKR.shtml

相关文章

1002 写出这个数 (C语言实现)

题目描述&#xff1a; 读入一个正整数 n&#xff0c;计算其各位数字之和&#xff0c;用汉语拼音写出和的每一位数字。 输入格式&#xff1a; 每个测试输入包含 1 个测试用例&#xff0c;即给出自然数 n 的值。这里保证 n 小于 10^100。 输出格式&#xff1a; 在一行内输出…

算法竞赛入门经典训练指南 pdf

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01; 下载地址&#xff1a;网盘下载 基本介绍 编…

《算法竞赛入门经典》Chap3

《算法竞赛入门经典&#xff08;第二版&#xff09;》第三章 思考题题目1 必要的存储量题目2 统计字符1的个数 示例程序程序3-1 逆序输出程序3-2 开灯问题程序3-3 蛇形填数程序3-4 竖式问题 例题例题3-1 Tex中的引号 (Tex Quotes, UVa 272)例题3-2 WERTYU (WERTYU, UVa 10082)例…

【算法竞赛从入门到精通】【基础算法】

基础算法 贪心法的基本思想如何判断一个题目能用贪心法&#xff1f;常见问题最少硬币问题活动安排问题&#xff08;区间调度问题&#xff09;区间覆盖问题最优装载问题多机调度问题 Huffman编码[poj 1521"Entropy"](http://poj.org/problem?id1521) 模拟退火 使用分…

算法竞赛入门经典习题

第一章&#xff1a;程序设计入门 总结 1、%.2f 表示保留两位小数 2、const double Piacos(-1.0) //尽量用const声明常量 3、三整数排序&#xff1a; If(a>b) {交换} if(a>c){交换} if(b>c){交换}第二章&#xff1a;循环结构设计 总结 1、重复次数可变、递增&…

《算法竞赛入门经典(第2版)》

《算法竞赛入门经典(第2版)》 基本信息 作者&#xff1a; 刘汝佳 丛书名&#xff1a; 算法艺术与信息学竞赛 出版社&#xff1a;清华大学出版社 ISBN&#xff1a;9787302356288 上架时间&#xff1a;2014-6-5 出版日期&#xff1a;2014 年6月 开本&#xff1a;16开 页码&…

《算法竞赛入门经典》(第二版)代码及详细解释(持续更新!)

笔者中山大学硕士&#xff0c;医学生计科学生的集合体&#xff0c;机器学习爱好者。 现发布【刘汝佳《算法竞赛入门经典》&#xff08;第二版&#xff09;——紫书】的例题和习题的代码和详细解释。 欢迎批评指正&#xff01; 另外欢迎关注本人微信公众号——程序员Yukyin …

算法竞赛入门知识干货

前言&#xff1a;本篇总结一部分来自刘汝佳老师的《算法竞赛入门经典》&#xff0c;一部分是个人竞赛学习中的一些算法知识点总结&#xff0c;是初学算法走了不弯路一点点积累起来的干货&#xff0c;对刚刚参加竞赛的盆友应该会很有帮助&#xff0c;如有不足请提出 一.程序设计…

《算法竞赛入门经典》——刘汝佳

“构造性”和“可行性”是计算机学科的两个最根本特征。 比赛的核心是算法 #1 语言篇 编程不是看会的&#xff0c;也不是听会的&#xff0c;而是练会的&#xff0c;所以应尽量在计算机旁阅读书本&#xff0c;以便把书中的程序输入到计算机中进行调试&#xff0c;顺便再做做上机…

ntoskrnl.exe占用大量cpu解决方法

ntoskrnl.exe 计划任务里面结束关于空闲时段内存自检的任务

ntoskrnl.exe占用cpu高

winr -->control 打开控制面板 还是过高&#xff0c;重启即可 转载于:https://my.oschina.net/u/2425353/blog/3081583

Win10开机提示蓝屏错误ntoskrnl.exe怎么修复?

1、下载bluescreenview软件。 2、下载后解压缩&#xff0c;启动就可以查看蓝屏原因了&#xff01;如下图所示 3、发现问题出在ntoskrnl.exe这个文件上&#xff0c;我重新下载这个文件替换也没用&#xff01; 4、继续解决问题&#xff0c;同时按下winX按键&#xff0c;如下图…

计算机反复蓝屏问题--ntoskrnl.exe

最近电脑反反复复地蓝屏吗&#xff0c;尤其是在电脑开机但又没怎么用的情况下。 使用联想电脑管家分析问题 下载了蓝屏分析诊断工具&#xff0c;提取码&#xff1a;5dti 检测出来问题根源是ntoskrnl.exe 解决方案&#xff1a; ① 参考博客1 控制面板----管理工具----任务计…

ntoskrnl.exe蓝屏

win10装完系统后频繁蓝屏,用bluescreen工具检测后,提示ntoskrnl.exe文件导致; 按照以下步骤处理: 1、在开始菜单上单击右键或按下win+x,点击命令提示符(管理员); 2、在命令提示符中输入: chkdsk c: /f 按下回车键,会弹出如下提示: 3、提示:是否计划在下次系统重…

win10一直蓝屏!一直是这个代码,ntoskrnl.exe导致,要废了。。

几个月了&#xff0c;一直都是这样&#xff0c;刚开始的系统1909&#xff0c;中间用过20H2、21H1&#xff0c;一直到现在的22H2&#xff0c;这个蓝屏问题一直没解决&#xff0c;网上的方式都试了&#xff0c;不行&#xff01;重装了几次系统也没解决&#xff0c;从WIN10 专业版…

Windows内核Shellcode获取ntoskrnl.exe基址

使用NASM编译以下汇编代码 BITS 64 ORG 0section .textglobal _start _start:push rbxmov rax,QWORD [gs:0x38]mov rax,QWORD [rax0x4]shr rax,0xcshl rax,0xc _x64_find_nt_walk_page:mov rbx,QWORD [rax]cmp bx,0x5a4dje _foundsub rax,0x1000jmp _x64_find_nt_walk_page _f…

ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe Loading Kernel Symbols

电脑蓝屏问题ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe Loading Kernel Symbols 1.先找出蓝屏日志&#xff1a;C:\Windows\Minidumpc 2.此文件记录了蓝屏的具体原因,由于是dmp文件,这里我是用的是windbg工具进行解析,此工具可以在某讯…

ntoskrnl.lib(loadcfg.obj) : error LNK2001: 无法解析的外部符号 ___security_cookie 解决方法

背景 今天编译公司x86驱动的时候发现了如下报错&#xff0c;我也奇怪&#xff0c;为什么会找不到符号 后来发现是因为用的xp的lib。ObRegisterCallbacks最少都是sp1 改为win7\i386,错误变成了 后来在网上找了找&#xff0c;都是一个人写的&#xff0c;被反复的转载&#xff0c…

ntoskrnl.exe导致Win10蓝屏的解决方案(转载)

转自&#xff1a;https://zhuanlan.zhihu.com/p/37619207 下面两个方案都操作了&#xff0c;暂时三天了没有再出现蓝屏&#xff08;之前一两天必然出现一次&#xff09;&#xff0c;具体哪个起作用也不清楚&#xff0c;只要不再蓝屏就好。 我的PC是自己安装的兼容机。起初安装…

win10电脑蓝屏问题 ntoskrnl.exe导致蓝屏

之前两次打都打不开&#xff0c;直接送去重装系统了&#xff0c;文件丢失/软件重装/配置环境真的很崩溃 [2020/04/23] 第三次蓝屏 这次用回形针按了电脑背后的重启按钮&#xff0c;就是一个小圆点&#xff0c;成功重启了。 怕关机又打不开&#xff0c;尝试了如下修复&#xf…