CCF 201312-1 出現次數最多的數 C語言代碼(100分)
- 問題描述
- 解題思路
- 詳細代碼
問題描述
試題編號: 201312-1
試題名稱: 出現次數最多的數
時間限制: 1.0s
記憶體限制: 256.0MB
問題描述:
給定n個正整數,找出它們中出現次數最多的數,如果這樣的數有多個,請輸出其中最小的一個,
輸入格式
輸入的第一行只有一個正整數n(1 ≤ n ≤ 1000),表示數字的個數,
輸入的第二行有n個整數s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n),相鄰的數用空格分隔,
輸出格式
輸出這n個次數中出現次數最多的數,如果這樣的數有多個,輸出其中最小的一個,
樣例輸入
6
10 1 10 20 30 20
樣例輸出
10
解題思路
硬解法,
詳細代碼
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int value;
int count;
}Arr;
int main(int argc, char *argv[]) {
int n,i,j;
scanf("%d",&n);
Arr arr[n];
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
arr[i].count=1;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(arr[i].value==arr[j].value&&i!=j){
arr[i].count++;
}
}
}
int mos=0;
for(i=0;i<n;i++){
if(arr[i].count>arr[mos].count){
mos=i;
}else if(arr[i].count==arr[mos].count&&arr[i].value<arr[mos].value){
mos=i;
}
}
printf("%d",arr[mos].value);
return 0;
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258817.html
標籤:其他
上一篇:貪吃蛇
