【PTA】​L1-003 个位数统计​ (C++)

简介: 【PTA】​L1-003 个位数统计​ (C++)

题目要求:

输入格式:

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

输出格式:

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

输入样例:

100311

输出样例:

0:2
1:3
3:1

思路:

1.先定义一个字符串n

2.在一个for循环中n[i]代表这一串字符的每一个字符,使用n[i]-'0'将输入的字符转化为数字形式、

3.定义一个整型数组x[1000],并且初始化为0

4.循环遍历i将x[n[i]-'0']进行++操作

5.最后判断x[n[i]-'0']是否为0,不为0的输出i值和x[i];

注意:这里输入整数不要定义整型,因为定义int型的话,int型是有范围的,如果数太大的话会溢出,没有办法统计后面的数字。

代码:

#include<bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string n;
    cin >> n;
    int x[1000] = {0};
    for(int i = 0; i < n.size(); i++)
    {
        x[n[i] - '0'] ++;
    }
 
    for(int i = 0; i < 10; i ++)
    {
        if(x[i] != 0)
            cout << i << ":" << x[i] << endl;
    }
   
    
    return 0;
}

测试结果:


目录
相关文章
|
6月前
|
算法 测试技术 C++
【动态规划】【图论】【C++算法】1575统计所有可行路径
【动态规划】【图论】【C++算法】1575统计所有可行路径
|
6月前
|
人工智能 算法 测试技术
【动态规划】【二分查找】C++算法 466 统计重复个数
【动态规划】【二分查找】C++算法 466 统计重复个数
|
6月前
|
C++
【PTA】L1-016 验证身份(C++)
【PTA】L1-016 验证身份(C++)
86 0
【PTA】L1-016 验证身份(C++)
|
5月前
|
存储 C++
【PTA】L1-039 古风排版(C++)
【PTA】L1-039 古风排版(C++)
36 1
|
6月前
|
Java C++
部落(pta)(并查集) Java以及C++
部落(pta)(并查集) Java以及C++
54 2
|
4月前
|
NoSQL Redis C++
c++开发redis module问题之在复杂的Redis模块中,特别是使用第三方库或C++开发时,接管内存统计有哪些困难
c++开发redis module问题之在复杂的Redis模块中,特别是使用第三方库或C++开发时,接管内存统计有哪些困难
|
5月前
|
存储 人工智能 C++
【PTA】L1-064 估值一亿的AI核心代码(详C++)
【PTA】L1-064 估值一亿的AI核心代码(详C++)
38 1
|
5月前
|
存储 C++ 索引
【PTA】L1-059 敲笨钟(C++)
【PTA】L1-059 敲笨钟(C++)
27 1
|
5月前
|
存储 人工智能 C++
【PTA】L1-093 猜帽子游戏(C++)
【PTA】L1-093 猜帽子游戏(C++)
102 1
|
5月前
|
C++
【PTA】L1-046 整除光棍(C++)
【PTA】L1-046 整除光棍(C++)
56 1