c 語言求陣列數的眾數,c 語言求1個陣列15個數的眾數

時間 2022-08-22 13:46:59

1樓:匿名使用者

#include

/*快速排序*/

int quick_sort(int *a, int n, int left, int right)

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 *p, int *index)

if(count > count1)

else if(count == count1)count = 1;

i++;

}//return elem;

return 0;

}int main()

;int p[9];

int i, index;

for(i = 0; i < 9; i++)quick_sort(arr, 9, 0, 8);

printf("排序後:\n");

for(i = 0; i <

printf("眾數為: \n");

for(i = 0; i <= index; i++)return 0;}

2樓:靈蛇

提供乙個思路:再定義乙個15元的一維陣列b(設原來的為a)並初始化為0和兩個臨時變數m,n(分別暫存該次比較的元素和該元素出現的次數),首先m=a(0),b(0)=1,接著依次將m與a後面的元素比較,若有相同的,b的相應位賦值n+1;然後找b中非零元素對應的a中元素賦值給m,進行下一輪,如此類推。例如a[4]=;計算的結果為b[4]=,最後找出b中的最大值,其對應位的a陣列為眾數

用c++語言求乙個陣列中的眾數

3樓:風若遠去何人留

#include

#define n 15

void main()

;int sum[n],out[n];

for(i=0;i=0)

printf("%d,",out[j--]);}

眾數可以有多個的情況下,c/c++ 怎樣求乙個陣列的眾數

4樓:匿名使用者

先假設這不是做競賽題,只是做作業,先求開乙個等大的陣列,存一下原陣列中每乙個數出現的次數

另開乙個陣列(事先開好,或者申請一下記憶體),比如叫ans_num,然後再設兩個變數,乙個是眾數個數計數器叫做num_cnt,乙個是眾數出現次數最大值計數器,比如叫 max_time

一開始這兩個變數都是0

然後遍歷剛剛得到的每個數出現次數的陣列 , 只有兩種情況需要操作

出現次數》max_time,把num_cnt 清零  ,把當前這個放到ans_num陣列首部位置,讓num_cnt+1,表示現在有乙個眾數

出現次數=max_time ,從ans_num陣列下標0 到 num_cnt-1 搜尋,有沒有出現過當前這個數,沒有的話讓num_cnt+1,在ans_num陣列裡安排當前這個數的位置

c++求眾數怎麼寫?

5樓:

我這個是我自己想的:給每個陣列元素定乙個計數器,然後讓每乙個元素和全部陣列元素比較,如果相等則計數器加1,計數器的值即是該元素出現的次數,最後再比較各自的計數器的大小,大者為眾數.

**如下:(已考慮了有多個眾數的情況,可以求出全部眾數,只不過顯示上不太完美,樓主可以執行一下)

#include

using namespace std;

int main()

;int b[10]=;

int c[10]=;

for(int i=0;i<10;i++)for(int j=0;j<10;j++)int m=0,n=0,temp=b[0];

for(int k=0;k<10;k++)for(int m=0;m<10;m++)for(int p=0;p

cout<<"這組數的眾數是:"<

return 0;}

6樓:匿名使用者

出現次數最多的數?

#include

/*快速排序*/

int quick_sort(int *a, int n, int left, int right)

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)if(count > count1)

count = 1;

i++;

}return elem;

}int main()

;int i;

for(i = 0; i < 9; i++)quick_sort(arr, 9, 0, 8);

printf("排序後:\n");

for(i = 0; i < 9; i++)i = find_max_seq(arr, 9);

printf("眾數為: %d\n", i);

return 0;}

c語言,int 陣列輸入的問題,C語言,int 陣列輸入的問題

可以的阿,你只管在一行中輸入,用空格隔開,完了再回車 如果不足的話,那麼程式會等待你繼續輸入的 如果多了,也就費了 int array new int n 這種用法第一次見,你要挨著輸入可以呀,int n n scanf d d d d n,n 1,n 2,n 3,int i 0 while i n...

c語言求數的因子,c語言求乙個數的因子

ok洛陽水席 include int m void num int n,int b for i 0 i 要寫成動態的可以這樣 include int m for i 0 i 將a陣列作為形式引數,把a中的資料傳遞給主調函式中的實參陣列b。實參陣列b的大小要保證能夠存放整數m的因子 這句話好神奇 這句...

c語言求數中較大者怎麼做,C語言 求2個數中較大者怎麼做???

中第四行是錯誤的,函式宣告不能在函式裡面的.放到main函式上面去.也可以用乙個巨集 define max x,y x y x y 和你的那個max函式一樣用法,但更簡潔易懂.scanf d,d a,b 這裡輸入8,5scanf d d a,b 這裡輸入乙個數按一次回車,或在數之間加空格 說明 sc...

c語言求數是幾位數,C語言求乙個數是幾位數

include include using namespace std int main else if x 10000 else int a 5 for i 1 i w i for i 1 i w i cout int sm 0 for i 1 i w i cout return 1 else f...

有關C語言陣列的問題(在陣列中插入數)

第11行,就是把整數3插入到陣列的第3 此時i的值是1,因此a i 1 就是a 2 個元素 第7到10行就是把後面的元素往後移1個位置,注意要先把該移的數都移好,留出空間才能把新元素插入到指定位置 你的程式定義時,陣列是a 7 並且都附值了,也就是說a 7 中每乙個位置都已經有了個數,插入t之後,陣...