PTA团体程序设计天梯赛-练习集:L1-003 个位数统计

给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。

输入格式:

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N

输出格式:

N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

输入样例:

100311

输出样例:

0:2
1:3
3:1

题目链接:题目详情 - L1-003 个位数统计 (pintia.cn)

  1. 初步思路:

看到这道题目我的第一想法是定义一个整型数组num[10]来表示0~9之间每个数字出现的个数,然后定义一个整型变量n并且输入然后用while循环遍历n中每个数字出现的次数

C++代码(部分正确)如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{int num[10]={0};int n;cin>>n;while(n){num[n%10]++;n/=10;}for(int i=0;i<=9;i++){if(num[i]!=0){printf("%d:%d\n",i,num[i]);}}
}

我们会发现提交结果并不全然正确,那说明在某一个环节出现了问题

  1. 后续思路:

后来我又仔细的看了遍题目,发现输入格式中有这么一句话:

它说一个不超过1000位的正整数,当时我的重点放在了正整数N上,却忽略了他不超过1000(<=1000),也就是说它最大位数可为1000位,而整型变量输入位数是达不到1000位的,就算是长整型也不能,所以看到这里大家都应该恍然大悟了吧。没错,这里我最后就是把要输入的数当作字符串来输入的。

C++代码(完全正确)如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{int num[10]={0};   //首先先定义一个数组方便存储0~9数字出现的次数string s;           //string类的字符串cin>>s;             for(int i=s.size()-1;i>=0;i--)  //因为我们是从高位往地位输入的,所以从字符串的最后{                                //一个开始往前面遍历num[s[i]-'0']++;       //s[i]-'0'表示表示的就是字符型数字转换成整型数字//相当于s[i]-48}for(int i=0;i<=9;i++)        //循环遍历每个数字出现的次数{if(num[i]!=0)            //如果该数字出现的次数不为0{printf("%d:%d\n",i,num[i]); //那么就按格式输出}}
}
C语言:
#include<stdio.h>
#include<string.h>
int main()
{int num[10]={0};   //首先先定义一个数组方便存储0~9数字出现的次数char s[1001];           //string类的字符串scanf("%s",s);             for(int i=strlen(s)-1;i>=0;i--)  //因为我们是从高位往地位输入的,所以从字符串的最后{                                //一个开始往前面遍历num[s[i]-'0']++;       //s[i]-'0'表示表示的就是字符型数字转换成整型数字//相当于s[i]-48}for(int i=0;i<=9;i++)        //循环遍历每个数字出现的次数{if(num[i]!=0)            //如果该数字出现的次数不为0{printf("%d:%d\n",i,num[i]); //那么就按格式输出}}
}

总结:当我们遇到输入的某个数字大到内存无法装取它的时候,可以考虑使用字符类型的变量,整型数字和字符数字之间可以灵活转换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42175.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Word工具栏中插入MathType

在Word工具栏中插入MathType 下载并安装Math Type &#xff0c;下载资源可以百度上面找一找&#xff0c;建议找一个比较新一点版本&#xff0c;&#xff08;我安装的是Math Type7.4版本&#xff0c;里面有pojie文件&#xff09;&#xff0c;安装成功以后进行第下一步&#xff1…

vs2015操作word,找不到Microsoft.office.interop.word引用

导入这个 Mirosoft Word 12.0 Object Library 就可以了&#xff0c;找不到的话&#xff0c;可能是因为没有安装office。 参考&#xff1a;https://ask.csdn.net/questions/382587

(转载)如何优雅的在 Microsoft word中插入代码

原文链接&#xff1a;https://blog.csdn.net/u011303443/article/details/50992651/ 一、工具 方法1.打开这个网页PlanetB; 方法2.或者谷歌搜索syntax highlight code in word documents&#xff0c;检索结果的第一个。如下图&#xff1a; PS. 方法1和2打开的为同一个网站。 …

word文档中工具栏不显示mathtype处理方法

1、确定受信任位置&#xff1a; 文件-选项-信任中心-受信任位置&#xff08;这里为STARTUP文件夹位置&#xff0c;也可以是加载模板的位置&#xff09; 我的本地位置&#xff1a; C:\Users\YK\AppData\Roaming\Microsoft\Word\STARTUP 2、拷贝两个文件到 受信任位置 &#xf…

如何在Word/WPS中插入noteExpress?

两步搞定在Word/WPS中插入noteExpress 一、安装插件二、加载 .dll文件 noteExpress 中未能在Word/WPS中显示&#xff0c;主要原因有两个&#xff1a; ①未下载安装在Word/WPS中的插件&#xff1b; ② 下载插件完成后&#xff0c;未在Word/WPS中导入。 一、安装插件 1、以管理员…

向Word和PowerPoint插入LaTeX公式的小工具

讨论、下载请前往&#xff1a;http://bbs.ctex.org/forums/index.php?showtopic31442 &#xff0c;谢谢&#xff01; 向Word和PowerPoint插入LaTeX公式的小工具 v0.2测试版 Inspired by eqe: Linux LaTeX equation editor (http://rlehy.free.fr/) and TexPoint - A Latex a…

Windows下com及word

读写 Word 日常开发的软件使用最多的应该是导出数据到 Word 文档中&#xff0c;目前可以用的方案有这几种 COM 简介 Microsoft 组件对象模型 (COM) 是一个独立于平台的分布式面向对象的系统&#xff0c;用于创建可交互的二进制软件组件。 COM 是 Microsoft 的 OLE (复合文档) …

word里面怎么显示MathType工具,或者说,word和MathType怎么连接起来

亲测有效 说在前面 有些人只要把word和MathType安装好了&#xff0c;就可以在word里面看到MathType了&#xff0c;就像下面这样 在word中可使用MathType对插入公式、公式编号等都很有帮助。但也有些人就是看不到MathType&#xff0c;怎么办呢&#xff1f;别急&#xff0c;我也…

Mathtype成功插入到word2019中

网上找了很多Mathtype插入到word中的方法&#xff0c;但是很多都没讲全&#xff0c;查了很多&#xff0c;找了一个比较靠谱的方法。我的word是2019版的&#xff0c;mathtype是7.4版本的。 1.打开word&#xff0c;点击选项-加载项&#xff0c;找到Microsoft Word书法加载项&…

如何优雅地在 microsoft word 插入代码块

如何优雅地在 microsoft word 插入代码块 此步骤适用于文档中需要插入代码或者某些特定的段落 1. 选择菜单表格 2. 选择1*1表格 3. 设置字体 4. 在表格下选择底纹为灰&#xff0c;边框为无边框 至此一个能够拷贝、良好显示的代码块已经完成 使用另存为PDF格式&#xff0c;没有语…

C# Microsoft.Office.Interop.Word操作Word的大坑

环境&#xff1a;.Net Core&#xff0c;COM的Interop.Word 需求&#xff1a;在Word模板中间插入连续多个独立表格 方法一&#xff1a;通过将光标向下移动表格行数&#xff0c;跳过表格&#xff0c;然后继续输入内容&#xff0c;生成新的表格 跳出代码&#xff1a; //通过向…

MathType如何成功插入到word

有时候我们重装mathtype的时候&#xff0c;我们的word里嵌入的mathtype没有了&#xff0c;因此我们如何让它重新出来呢&#xff1f;下面我们来看看。 1、我们打开word&#xff0c;点击“选项”&#xff0c;点击“加载项”找到如图所示的路径内容&#xff08;根据自己电脑的实际…

【C#】C#使用Microsoft.Office.Interop.Word操作Word文档,向表格插入图片

上篇&#xff1a;【C#】C#使用Microsoft.Office.Interop.Word操作Word文档&#xff0c;替换文本 Word模板&#xff1a; 代码&#xff1a; try {Application app new Application();string templetFileName "E:\BT\Test3.docx";string newFileName $"E:\BT\T…

如何优雅的在 Microsoft word中插入代码

一、工具 方法1.打开这个网页PlanetB; 方法2.或者谷歌搜索syntax highlight code in word documents&#xff0c;检索结果的第一个。如下图&#xff1a; PS. 方法1和2打开的为同一个网站。 二、步骤 1.将你需要插入在word中的代码完整的复制到该网站提示的文本框内&#xf…

如何用AI制作电影级镜头?Midjourney v5体验教程(附prompts大全)

目录 1 AI绘画不断进步2 Midjourney体验教程2.1 注册Discord账号2.2 Midjourney绑定Discord2.3 接入Midjourney Bot应用2.4 开始作画 3 prompts大全4 结语 1 AI绘画不断进步 2022年10月&#xff0c;NovelAI流出stable-diffusion-webui模型&#xff0c;开启二次元AI绘画的时代A…

AI时代来临!使用ChatGPT和Kapa.ai协助学习成长!

在加密领域畅游时&#xff0c;常常会遇到不懂的技术名词或是其背后代表的含义&#xff0c;此时通常都需要花费大量的时间进行研究和学习方能掌握。但是自从ChatGPT人工智能的出现&#xff0c;通过简单有效地运用其特性&#xff0c;不仅可以大大提高研究的效率&#xff0c;还可以…

新功能上线|AI全自动抠图换背景,电商、营销、摄影人士必备

最近&#xff0c;皮卡智能AI开发了一种基于深度学习的图像编辑工具&#xff0c;能够自动抠图&#xff0c;替换任何图像的背景&#xff0c;甚至可以为图像做延伸想象&#xff0c;现已在国内网站上线。 此功能更换背景仅需1-2分钟即可完成&#xff0c;生成非常自然、真实的图像&…

AI自助帮你换背景,超强实时人像扣图算法开源啦!

谈到人像抠图想必大家都不陌生。在影视剪辑、直播娱乐、线上教学、视频会议等场景中都有人像分割的身影&#xff0c;它可以帮助用户实时、精准地将人物和背景精准识别出来&#xff0c;实现更精细化的人物美颜、背景虚化替换、弹幕穿人等&#xff0c;进一步提升视觉应用体验。 高…

Claude不能用了?我来帮你

前几天&#xff0c;我在《不需要等待列表&#xff0c;也不用魔法上网的Claude&#xff0c;能否比肩ChatGPT&#xff1f;》一文中&#xff0c;介绍了ChatGPT的同门师兄Claude的注册使用教程。许多同学按照我的教程&#xff0c;很快就无痛使用上了类似ChatGPT的服务。 403 Forbid…

零门槛复现ChatGPT:预训练模型数据集直接用,包含完整RLHF流程,在线可体验

这边ChatGPT、GPT-4等AI大模型和应用打得火热&#xff1b; 另一边“平替”开源复现方案也加紧更新迭代。 这不&#xff0c;“首个开源ChatGPT低成本复现流程”就来了波大更新&#xff01; 现在&#xff0c;仅需不到百亿参数&#xff0c;利用RLHF简单微调&#xff0c;模型即可…