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;} 可以的阿,你只管在一行中輸入,用空格隔開,完了再回車 如果不足的話,那麼程式會等待你繼續輸入的 如果多了,也就費了 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... 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的因子 這句話好神奇 這句... 中第四行是錯誤的,函式宣告不能在函式裡面的.放到main函式上面去.也可以用乙個巨集 define max x,y x y x y 和你的那個max函式一樣用法,但更簡潔易懂.scanf d,d a,b 這裡輸入8,5scanf d d a,b 這裡輸入乙個數按一次回車,或在數之間加空格 說明 sc... 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... 第11行,就是把整數3插入到陣列的第3 此時i的值是1,因此a i 1 就是a 2 個元素 第7到10行就是把後面的元素往後移1個位置,注意要先把該移的數都移好,留出空間才能把新元素插入到指定位置 你的程式定義時,陣列是a 7 並且都附值了,也就是說a 7 中每乙個位置都已經有了個數,插入t之後,陣...c語言,int 陣列輸入的問題,C語言,int 陣列輸入的問題
c語言求數的因子,c語言求乙個數的因子
c語言求數中較大者怎麼做,C語言 求2個數中較大者怎麼做???
c語言求數是幾位數,C語言求乙個數是幾位數
有關C語言陣列的問題(在陣列中插入數)