**描述** 給定一個非負整數數組,統計裡面每一個數的出現次數。我們只統計到數組裡最大的數。 假設 Fmax (Fmax using namespace std; int main(){ int n,x; int fmax=0;//數組裡最大的數 int a[10000]={0}; cin>>n; ...
描述
給定一個非負整數數組,統計裡面每一個數的出現次數。我們只統計到數組裡最大的數。
假設 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;
}