描述
給定一個非負整數陣列,統計里面每一個數的出現次數,我們只統計到陣列里最大的數,
假設 Fmax (Fmax < 10000)是陣列里最大的數,那么我們只統計 {0,1,2.....Fmax} 里每個數出現的次數,
輸入
第一行n是陣列的大小,1 <= n <= 10000,
緊接著一行是陣列的n個元素,
輸出
按順序輸出每個數的出現次數,一行一個數,如果沒有出現過,則輸出0,
對于例子中的陣列,最大的數是3,因此我們只統計{0,1,2,3}的出現頻數,
樣例輸入
5
1 1 2 3 1
樣例輸出
0
3
1
1
題意
第一行輸入n,n是陣列的大小,(1 <= n <= 10000)緊接著再輸入一行是陣列的n個元素,按順序輸出每個數的出現次數,一行一個數,如果沒有出現過,則輸出0,統計各個數字的出現頻數,
解題思路
輸入陣列的大小n,再輸入陣列的個數a[x],再統計每個數出現的個數,沒有出現的記為0,再輸出統計的各個數字的個數,
代碼實作
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x;
int fmax=0;//陣列里最大的數
int a[10000]={0};
cin>>n;
for(int i=0;i<n;i++){
cin>>x;
a[x]++;//輸入的陣列數字的個數
if(x>fmax)fmax=x;//輸入陣列里最大的數
}
for(int i=0;i<=fmax;i++)//統計各個數字的個數
cout<<a[i]<<endl;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555500.html
標籤:其他
上一篇:C++面試八股文:std::string是如何實作的?
下一篇:返回列表
