pat 乙级 1021 个位数统计(C++)

题目

给定一个 k 位整数 N=d​k−1​​10​k−1​​+⋯+d​1​​10​1+d​0(0≤d​i≤9, i=0,⋯,k−1, d​k−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

分析

  • 输入为不超过1000位的整数,所以输入采用字符串或者字符数组。
  • 字符的种类是固定的,即0~9的字符形式
  • 将输入的字符串分割为单独的字符,然后再和固定的字符对比,累计每个字符的数量
  • 按照题给格式输出

AC代码

#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{int i,j;char a[10]={'0','1','2','3','4','5','6','7','8','9'};int count[10]={0,0,0,0,0,0,0,0,0,0};string s;cin>>s;int res_len=s.length()+1;char result[res_len];strcpy(result, s.c_str());for(i=0;i<res_len;i++)for(j=0;j<10;j++){if(a[j]==result[i]){count[j]++;}}for(i=0;i<10;i++){if(count[i]!=0){cout<<a[i]<<":"<<count[i]<<endl;}}return 0;
}

总结

后面发现,使用getchar方法更为简单。代码如下

优化代码

#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int main()
{int i,j;char c;char a[10]={'0','1','2','3','4','5','6','7','8','9'};int count[10]={0,0,0,0,0,0,0,0,0,0};while((c=getchar())!='\n') {for(i=0;i<10;i++){if(c==a[i])count[i]++;}}for(i=0;i<10;i++){if(count[i]!=0){cout<<a[i]<<":"<<count[i]<<endl;}}return 0;
}

更多题解
pat 乙级 题解汇总(持续更新)(C++)

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

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

相关文章

该虚拟机似乎正在使用

该虚拟机似乎正在使用 点击获取所有权&#xff0c;此时虚拟机还是不能打开。 打开Vmware虚拟机虚拟磁盘文件和配置文件存放的位置 删除后缀为.lck的文件夹 然后开启此虚拟机就可以啦

PAT 乙级(Basic Level) 题解汇总(持续更新)(C++)

前言 为了准备3月份的CCF CSP认证&#xff0c;以及提升自己的编程能力和数据结构与算法基础&#xff0c;目前我坚持每天刷pat乙级题库&#xff0c;然后记录在CSDN。一则&#xff0c;希望夯实我做过的题和学到的东西&#xff1b;二则&#xff0c;希望对和我一样的小伙伴有些许帮…

反射是最重要的Java API

前几天我在想-这是最重要的Java API。 哪种SE和EE API可以使大多数Java生态系统成为可能&#xff0c;而哪些API不能刚刚被重新创建为第三方库。 正如您可能已经猜到标题一样&#xff0c;我认为它是Reflection API 。 是的&#xff0c;它不可避免地是每个项目的直接或间接的一部…

Wireshark常用过滤使用方法

过滤源ip、目的ip。 在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包&#xff0c;ip.dst192.168.101.8&#xff1b;查找源地址为ip.src1.1.1.1 端口过滤。 如过滤80端口&#xff0c;在Filter中输入&#xff0c;tcp.port80&#xff0c;这条规…

pat 乙级 1003 我要通过!(C++)

题目 “答案正确"是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件&#xff0c;系统就输出“答案正确”&#xff0c;否则输出"答案错误”。 得到"答案正确"的条件是&#xff1a; 字符串中必…

【C】printf按8进制、10进制、16进制输出以及高位补0

#include <iostream> #include <iomanip> #include "Circle.h" // Circle class declaration file int main() { int PrintVal 9;/*按整型输出&#xff0c;默认右对齐*/printf("%d\n",PrintVal);/*按整型输出&#xff0c;补齐4位的宽度&#…

pat 乙级 1005 继续(3n+1)猜想(C++)

题目 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里&#xff0c;情况稍微有些复杂。 当我们验证卡拉兹猜想的时候&#xff0c;为了避免重复计算&#xff0c;可以记录下递推过程中遇到的每一个数。例如对 n3 进行验证的时候&#xff0c;我们需要计算 3、5、8、4、…

带有Spring Boot和Spring Cloud的Java微服务

朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户&#xff1f; 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证&#xff0c;管理和保护。 Java是开发微服务架构时使用的一种很棒的语言。 实际上&#xff0c;我们行业中的一些知名人士…

pat 乙级 1018 锤子剪刀布(C++)

题目 两人玩锤子剪刀布&#xff0c;现给出两人的交锋记录&#xff0c;请统计双方的胜、平、负次数&#xff0c;并且给出双方分别出什么手势的胜算最大。 输入格式&#xff1a; 输入第 1 行给出正整数 N&#xff08;≤105 &#xff09;&#xff0c;即双方交锋的次数。随后 N …

Terminal中输入一行命令快速移动光标至行首行尾

Linux&#xff1a;### ①快速移动光标至行首 **Home或CtrlA ** ②快速移动光标至行尾 **End或CtrlE ** ③从光标处开始删除&#xff0c;直到行尾 **CtrlK ** ④到下一行 **CtrlN 或 方向键&#xff1a;↓ ** ⑤到上一行 **CtrlP 或 方向键&#xff1a;↑ **

nio2和nio2_列出和过滤NIO.2中的目录内容

nio2和nio2在Java 7发行之前&#xff0c;列出目录内容的领域并没有发生太多事情。但是&#xff0c;由于NIO.2引入了一种新的方法来做到这一点&#xff0c;因此覆盖这一领域可能是值得的。 NIO.2的一大优点是能够在一个方法调用中立即使用列表和过滤。 这为与文件系统相关的大多…

pat 乙级 1033 旧键盘打字(C++)

题目 旧键盘上坏了几个键&#xff0c;于是在敲一段文字的时候&#xff0c;对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键&#xff0c;打出的结果文字会是怎样&#xff1f; 输入格式&#xff1a; 输入在 2 行中分别给出坏掉的那些键、以及应该输入的文…

修改typora主题的字体

简 述&#xff1a; 在 mac 中修改 typora 主题的英文和中文的字体&#xff0c;使得码字更加舒服&#xff08;win 也有效&#xff09;。 [TOC] 本文初发于 “偕臧的小站“&#xff0c;同步转载于此。 书写环境&#xff1a; &#x1f4bb;&#xff1a; MacOS 10.14.6 &#x1…

在ADF 12.2.1.3中使用基于JSON的REST Web服务

以前&#xff0c;我曾发布过有关在ADF中使用基于ADF BC的REST Web服务的信息。 现在&#xff0c;本文讨论使用通用数据控件使用基于JSON的REST Web服务。 您也可以查看有关Web服务的先前文章&#xff0c;以获取更多信息。 在ADF 12.2.1中使用应用程序模块快速创建SOAP Web服务…

C++中字符型和整型的关系

文章目录结论测试字符与字符字符与数字实用小技巧字符转数字数字转字符ASCII的特点结论 字符型就是整型&#xff0c;对应的整数由ASCII(美国信息交换标准代码)规定。字符和整数&#xff0c;或者字符和字符进行运算时&#xff0c;结果为int。与整型的运算规则完全一样。 测试 …

hibernate 调试_Hibernate调试–查找查询的来源

hibernate 调试Hibernate为何在程序的哪个部分以及在哪个部分中生成给定SQL查询并不总是立即的&#xff0c;尤其是当我们处理的是我们自己编写的代码时。 这篇文章将介绍如何配置Hibernate查询日志记录&#xff0c;并将其与其他技巧一起使用&#xff0c;以找出在程序中执行给定…

Ubuntu终端多窗口分屏Terminator

1、安装 Terminator最大的特点就是可以在一个窗口中打开多个终端 sudo apt-get install terminator2、快捷键 F11 全屏 CtrlShiftE 垂直分割窗口 CtrlShiftO 水平分割窗口CtrlShiftC 复制 CtrlShiftV 粘贴CtrlTab 在分割的各窗口之间切换 CtrlShiftPageDown 在相邻的两个窗…

专业QA如何实施可靠的CI / CD管道?

过时的传统软件开发方法并不能接管不断升级的市场趋势&#xff0c;并且这些方法缺乏解决方案&#xff0c;这些解决方案无法满足引入“ 持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09; ”的快速软件发布的日益增长的需求。 除CI / CD之外&#xff0c;…