问题描述
统计n个正整数中每个数出现的次数。
输入说明
第一行是一个整数n(5<n<30),表示要待统计整数的个数;第二行是n个整数,每个整数均小于100000.
输出说明
按照整数从小到大的顺序依次输出不同的整数及其出现次数,整数和出现次数之间用冒号(:)分隔。
输入试例
12
19 223 35 321 2 33 44 223 2 19 2 19
输出样例
2:3
19:3
33:1
35:1
44:1
223:2
321:1
我的代码
#include<stdio.h>
int main()
{ int n;
scanf("%d",&n);
int a[n],i,j;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++){
for(j=0;j<n-1-i;j++){
if(a[j]>a[j+1]){
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}}
int k=0,count=0,v=0,m=0;
int b[n],c[n];
for(i=0;i<n;i++){
if(a[i]==a[i+1]){
count++;
}
if(a[i]!=a[i+1]){
m++;
b[k++]=a[i];
c[v++]=count+1;
count=0;
}
}
for(i=0;i<m;i++){
printf("%d:%d\n",b[i],c[i]);
}
return 0;
}