#include <iostream>
#include <algorithm>
using namespace std;
#define N 10
void generate(int *a, int n)
{
for(int i = 0; i < n; i++)
{
a[i] = rand()%3;
}
}
void print(int *a, int n)
{
for(int i = 0; i < n; i++)
{
cout<<" "<<a[i];
}
cout<<endl;
}
void change(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
void sort(int *a, int n)
{
for(int i = 0; i < n-1; i++)
{
for(int j = 0; j < n-i-1; j++)
{
if(a[j] > a[j+1])
{
change(a[j],a[j+1]);
}
}
}
}
void findnum(int *a, int n)
{
int count = 1;
int maxtemp = a[0];
int maxc = 1;
for(int i = 0; i < n; i++)
{
if(a[i] == a[i-1])
{
count++;//前後相等,累加
}
else
{
if(count > maxc)//前後不等,記錄最大次數,並把對應元素記下
{
maxc = count;
count = 1;
maxtemp = a[i-1];
}
}
}
cout<<maxtemp<<" "<<maxc<<endl;
}
int main()
{
time_t time1;
srand((unsigned int)(&time1));//每次結果不一樣
int *a = (int *)malloc(sizeof(int)*N);//a申請空間
generate(a, N);
print(a, N);
sort(a, N);
print(a,N);
findnum(a, N);
return 0;
}
實現排序後尋找出現次數最多的數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.