201312_1 ccf csp 出现次数最多的数(100)

201312_1 ccf csp 出现次数最多的数(100)_第1张图片
这个是在还没有学习STL之前写的,比较复杂,但思路很简单。


#include
using namespace std;
int main(){
    int n;//1 ≤ n ≤ 1000
    cin>>n;
    int array[n];
    for(int i=0;icin>>array[i];
    int fre[n];//出现次数 
    for(int i=0;i1;
    int flag[n];//是否被数过 数过置为1 
    memset(flag,0,4*n);
    //数出每个数字的出现次数
    for(int i=0;iif(!flag[i]){
            for(int j=i+1;jif(array[j]==array[i]){
                    fre[i]++;
                    flag[i] = 1;
                }
            }
        }
    }
    //找到最多的 若有多个 找最小的 
    int max = fre[0];
    int maxindex = 0;
    for(int i=1;iif(fre[i] > max){
            max = fre[i];
            maxindex = i;
        }
        else if(fre[i]==max && array[i]<array[maxindex]){
            max = fre[i];
            maxindex = i;
        }
    }
    //输出
    cout<<array[maxindex]<return 0;
} 

你可能感兴趣的:(ccf考试)