#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int n, num[1001] = { 0 }, ans[1001] = { 0 }, ci[1001] = { 0 };
scanf("%d", &n);
int i = 0;
while (i < n) {
scanf("%d", &num[i]);
i++;
}
for (int a = 1; a < n; a++) {
for (int b = 0; b < (n - a); b++) {
int temp = 0;
if (num[b] > num[b + 1])
{
temp = num[b]; num[b] = num[b+ 1]; num[b + 1] = temp;//直接经行大小排列,后面只用进行次数大小排序
}
}
}
i = 0;
int a = 0, b = 0;
while (i < n) {
ci[a] = 1;
ans[b] = num[i];
while (num[i] == num[i + 1])
{
ci[a]++; i++;//次数统计
}
a++;
b++;
i++;
}
for (a = 1; a < b; a++) {
for (i = 0; i < (b - a);i++) {
int temp = 0;
if (ci[i] < ci[i + 1])
{
temp = ci[i]; ci[i] = ci[i + 1]; ci[i + 1] = temp;
temp = ans[i]; ans[i] = ans[i + 1]; ans[i + 1] = temp;//次数大小比较
}
}
}
for (a = 0; a < b; a++)
{
printf("%d %d\n", ans[a], ci[a]);
}
return 0;
}
XDOJ 期末练习选做题 167数字统计排序
最新推荐文章于 2024-07-08 22:12:26 发布