PAT乙级 1021 个位数统计
给定一个 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
思路:
主要是以下三个checkpoint,都能想到应该就没问题了。
看到“1000位正整数”,肯定就不是当成数看了,必然是当成string处理。
将每个数字出现的次数保存在数组中。
将数组0-9的下标中所有a[i]不为0的输出。
二刷能发现自己有明显进步,贴出两次的代码,希望看到的读者可以被鼓励到!
#include<iostream>
#include<string>
using namespace std;int main()
{string s;cin >> s;//又是存储数字,数组没跑了int a[10] = { 0 };int i = 0;/*for (int i = 0; i < s.length(); i++){s[i]}*/while (i < s.length()){switch (s[i]-'0') {case 0:a[0]++; break;case 1:a[1]++; break;case 2:a[2]++; break;case 3:a[3]++; break;case 4:a[4]++; break;case 5:a[5]++; break;case 6:a[6]++; break;case 7:a[7]++; break;case 8:a[8]++; break;case 9:a[9]++; break;default:break;}i += 1;}for (int j = 0; j < 10; j++){if (a[j] != 0){cout << j << ":" << a[j] << endl;}}return 0;
}
第二次
#include<iostream>
#include<iomanip>
#include<vector>
#include<set>
#include<list>
#include<deque>
#include<stack>
#include<unordered_map>
#include<cctype>
#include<map>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
int num[10];
int main()
{string s;int cnt = 0;cin >> s;for (int i = 0; i < s.length(); i++){if (num[s[i] - '0'] == 0)cnt++;num[s[i]-'0']++;}for (int i = 0; i < 10; i++){if (cnt == 0)break;else if (num[i] != 0){cout << i << ":" << num[i];if (cnt != 0){cout << endl;cnt--;}}}return 0;
}
PAT乙级 1021 个位数统计相关推荐
- pat 乙级 1021 个位数统计(C++)
题目 给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0(0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次 ...
- PAT乙级(1021 个位数统计)
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位 ...
- [PAT乙级]1021 个位数统计
输入格式: 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N. 输出格式: 对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M ...
- PAT初级1021 个位数统计(C++)
** PAT初级1021 个位数统计(C++) ** 题目: 思路: 数字只有0-9,统计各类数量,最后输出数量不为0的即可(其实本质也类似于桶排序~) 代码: # include<iostre ...
- 【PAT】1021 个位数统计
一.题目描述 PAT 1021 个位数统计 请编写程序统计每种不同的个位数字出现的次数.例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3. 输入格式: 每个输入包含 1 个测 ...
- C++学习之路 | PTA乙级—— 1021 个位数统计 (15分)(精简)
1021 个位数统计 (15分) 给定一个 k 位整数 N=d k−1 10 k−1 +⋯+d 1 10 1 +d 0 (0≤d i ≤9, i=0,⋯ ...
- 【PAT (Basic Level) Practice】——【字符串处理】1021 个位数统计
文章目录 一[题目难度] 二[题目编号] 三[题目描述] 四[题目示例] 五[解题思路] 六[最终得分] 七[代码实现] 八[提交结果] 一[题目难度] 乙级 二[题目编号] 1021 个位数统计 ( ...
- PAT-乙级-1021. 个位数统计 (15)
1021. 个位数统计 (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个k位整数N = dk-1 ...
- 1021. 个位数统计 (15)
1021. 个位数统计 (15)给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0), ...
最新文章
- canvas入门-1三种填充方式、渐变、模式
- 数学之路(2)-数据分析-R基础(2)
- Spring内部bean实例
- php 继承内核中的基类,继承类上的PHP new self()正在创建一个基类对象
- linq from 多个sum_快手重拳打击劣质电商 7月以来封禁700多个团伙账号
- 京东云 | AI人才联合培养计划
- java.lang.IllegalArgumentException: Request header is too large 解决方案
- 爬虫工具和服务——Python之外的选择
- 关于Eclipse无法导入包的问题???
- unity 电梯_unity应用实例——电梯模拟系统
- postman安装使用教程---图文讲解
- 基于51单片机的俄罗斯方块游戏
- 大点干!早点散----------深入剖析LVS负载均衡群集原理
- Qt--QTablewidgets 表格插入图片,且可以自动调整图片的大小
- 计算机主机电池馈电,电脑主板电池没电了表现 电脑主板电池没电了解决方法【详解】...
- 大白话搞懂什么是同步/异步/阻塞/非阻塞
- PHP+Mysql——博客系统(前端+后端-整套源码)
- R包bs4Dash控件效果对照图
- FANUC机器人PNS自动运行方式详细介绍
- 1维数组 2维数组