日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

找出一个数组中出现次数最多的那个元素

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 找出一个数组中出现次数最多的那个元素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description
找出一個數組中出現次數最多的那個元素

Input
多組輸入,請處理到文件結束

每組第一行輸入一個整數n(不大于20) 第二行輸入n個整數

Output
找出n個整數中出現次數最多的那個整數,(數據保證答案唯一)。

Sample Input
4
1 2 2 3
Sample Output
2

#include<stdio.h> int main() {int n,i,j,k,t,m,a[25];while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;//先進行排序,按從小到大的順序依次排列,排列須引入中間量t。 }}}t=a[0];m=1;k=1; //t記錄當前出現次數最多的數,m記錄t出現的次數,k記錄當前數出現的次數,for(i=1;i<n;i++){if(a[i]!=a[i-1])//如果前后兩數不相等了 {if(k>m)//只出現一遍則不會有k>m,由于m不斷更新,值會變大,所以不一定會有k>m反復 {m=k;//如果k>m了,m變大,保證m是出現次數最多的數的次數 t=a[i-1];//m由k賦值,k代表的是a【i-1】 }k=1;//新的數字k重新變為1,再循環,不然k會一直變大,使得m也改變 } elsek++;//前后兩數相等,k即次數增加 }if(k>m)//循環最后進行更新,不然如果最后一項次數最多,無法輸出最后一項 {m=k;t=a[i-1];}printf("%d\n",t);}return 0; }//先用了冒泡排序,然后默認第一個出現最多的數是第一個,t記錄當前出現次數最多的數,m記錄t出現的次數,k記錄當前數出現的次數,當在當前數與前一個數不相等且k>m時方進行t與m的更新。 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的找出一个数组中出现次数最多的那个元素的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。