c++求众数怎么写?
答案:2 悬赏:10 手机版
解决时间 2021-04-26 12:55
- 提问者网友:龅牙恐龙妹
- 2021-04-25 20:20
c++求众数怎么写?
最佳答案
- 五星知识达人网友:鸠书
- 2021-04-25 21:45
出现次数最多的数?
#include
int quick_sort(int *a, int n, int left, int right) {
int s, i, j;
int temp;
if(left < right) {
s = a[left];
i = left;
j = right + 1;
while(1) {
while(i + 1 < n && a[++i] > s);
while(j - 1 > -1 && a[--j] < s);
if(i >= j) {
break;
}
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
a[left] = a[j];
a[j] = s;
quick_sort(a, n, left, j - 1);
quick_sort(a, n, j + 1, right);
}
return 0;
}
int find_max_seq(int *a, int n)
{
int i, elem;
int count = 1, count1 = 1;
for(i = 0; i < n-1; ) {
while(a[i]==a[i+1]) {
count++;
i++;
}
if(count > count1) {
count1 = count;
elem = a[i];
}
count = 1;
i++;
}
return elem;
}
int main()
{
int arr[9] = {2,1,2,2,3,3,3,4,3};
int i;
for(i = 0; i < 9; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
quick_sort(arr, 9, 0, 8);
printf("排序后:\n");
for(i = 0; i < 9; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
i = find_max_seq(arr, 9);
printf("众数为: %d\n", i);
return 0;
}追问太复杂了,而且你的答案是粘贴过来的额。。。。。。。追答-。-~
一个排序(这里用的快排)把数字排序,然后使用max_seq函数把最高平率的数找出来~这个是基础计算方法·
#include
int quick_sort(int *a, int n, int left, int right) {
int s, i, j;
int temp;
if(left < right) {
s = a[left];
i = left;
j = right + 1;
while(1) {
while(i + 1 < n && a[++i] > s);
while(j - 1 > -1 && a[--j] < s);
if(i >= j) {
break;
}
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
a[left] = a[j];
a[j] = s;
quick_sort(a, n, left, j - 1);
quick_sort(a, n, j + 1, right);
}
return 0;
}
int find_max_seq(int *a, int n)
{
int i, elem;
int count = 1, count1 = 1;
for(i = 0; i < n-1; ) {
while(a[i]==a[i+1]) {
count++;
i++;
}
if(count > count1) {
count1 = count;
elem = a[i];
}
count = 1;
i++;
}
return elem;
}
int main()
{
int arr[9] = {2,1,2,2,3,3,3,4,3};
int i;
for(i = 0; i < 9; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
quick_sort(arr, 9, 0, 8);
printf("排序后:\n");
for(i = 0; i < 9; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
i = find_max_seq(arr, 9);
printf("众数为: %d\n", i);
return 0;
}追问太复杂了,而且你的答案是粘贴过来的额。。。。。。。追答-。-~
一个排序(这里用的快排)把数字排序,然后使用max_seq函数把最高平率的数找出来~这个是基础计算方法·
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯