【PTA刷题整理】PAT 乙级 1021 个位数统计

2020.03.10 今天上的课都很难啊,什么是竞品分析啊我的天,我人傻了,javaweb突然出来一个Servlet也没太跟上演示,网上教学真的麻烦,问问题还要单独找老师,害,今天的题属于简单题,不解释哈哈哈


1021 个位数统计 (15分)

给定一个 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


#include<iostream>                  //输入输出流头文件
#include<stdio.h>                   //标准输入输出
#include<stdlib.h>
#include<math.h>                    //数学函数
#include<string.h>                  //C语言字符数组的字符串
#include<algorithm>                 //C++标准模板库的函数
#include<map>                       //map映射容器
#include<unordered_map>             //无序的map映射容器
#include<vector>                    //变长数组容器
#include<queue>                     //队列
#include<stack>                     //栈
#include<string>                    //C++string类
#include<set>                       //set集合
#define SIZE 100000
using namespace std;                //标准命名空间

                                    //可以加入全局变量或者其他函数

int main(){                         //主函数
#ifdef ONLINE_JUDGE                 //如果有oj系统(在线判定),则忽略文件读入,否则使用文件作为标准输入
#else
    freopen("1.txt", "r", stdin);   //从1.txt输入数据
#endif
	string N;
	cin >> N;
	int ans[10];
	memset(ans , 0 , sizeof(ans));
	int temp = 0;
	for(int i = 0;i < N.size() ; i++){
		temp = N[i] - '0';
		ans[temp]++;
	} 
	for(int j = 0;j < 10;j++){
		if(ans[j] != 0){
			cout << j << ":" << ans[j] << endl;
		}
	}

    return 0;                       
}

发布了22 篇原创文章 · 获赞 2 · 访问量 493

猜你喜欢

转载自blog.csdn.net/weixin_43849089/article/details/104781577