#include<stdio.h>
#include<stdlib.h>
//寻找数组中最大元素
int get_max(int count[]) {
int max = count[0];
for (int i = 1; i < 12; i++) {
if (count[i] > max) {
max = count[i];
}
}
return max;
}
//寻找数组中最小元素
int get_min(int count[]) {
int min = count[0];
for (int i = 1; i < 12; i++) {
if (count[i] < min) {
min = count[i];
}
}
return min;
}
int main() {
int a[12] = { 3,2,3,4,4,5,5,6,6,6,6,6 };
int b[12], count[12];
for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
b[i] = a[i];
}
/*
寻找数组中数字出现的次数超过了数组长度的一半,
并且这样的数字至多有一个。
for (int i = 0; i < 12; i++) {
int cnt = 0;
for (int j = 0; j < 12; j++) {
if (a[i] == b[j]) {
cnt++;
}
else
cnt--;
}
if (cnt >= 0) {
printf("%d\n", a[i]);
}
}
*/
int max1, min1;
for (int i = 0; i < 12; i++) {
int cnt = 0;
for (int j = 0; j < 12; j++) {
if (a[i] == b[j]) {
cnt++;
}
count[i] = cnt;
}
}
for (int i = 0; i < 12; i++) {
printf("%3d\t", a[i]);
}
printf("\n");
for (int i = 0; i < 12; i++) {
printf("%3d\t", count[i]);
}
for (int i = 0; i < 12; i++) {
if (count[i] == get_max(count)) max1 = i;
if (count[i] == get_min(count)) min1 = i;
}
printf("\n数组a中元素出现次数最多的元素是:%d,出现次数为;%d\n", b[max1], get_max(count));
printf("\n数组a中元素出现次数最少的元素是:%d,出现次数为;%d\n", b[min1], get_min(count));
}
求数组元素中出现次数最多_最少的元素
最新推荐文章于 2022-04-12 22:14:34 发布