问题描述
编写一个程序,从键盘先输入n的值,然后输入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
#pragma warning(disable:4996)
#include<stdio.h>
#include<math.h>
int main()
{
int sort(int b[],int n);
int a[101];
int t, n,count;
while (scanf("%d", &t) != EOF)
{
for (int i = 0; i < t; i++)
{
scanf("%d", &a[i]);
}
sort(a, t);
for (int j = 0; j < t; j++)
{
count = 1;
printf("%d:", a[j]);
while (j < t&&a[j] == a[j + 1])
{
count++;
j++;
}
printf("%d\n", count);
}
}
return 0;
}
int sort(int b[],int n)
{
int temp;
for (int i = 0; i < n; i++)
for (int j = 0; j < n - 1 - i;j++)
if (b[j]>b[j + 1])
{
temp = b[j];
b[j] = b[j + 1];
b[j + 1] = temp;
}
return 0;
}