• 众数


    题目描述

    给定一个长度为N的非降数列,求数列中出现次数最多的数。

    如果答案不唯一,输出其中最小的数。

    输入格式

    输入数据第一行是一个整数T(1<=T<=100),表示测试数据的组数。注意各组测试数据是相互独立的。

    对于每组测试数据:

    第一行是一个正整数N(1<=N<=100 ),表示数列长度。

    第二行有N个正整数,整数之间用空格隔开,所有的整数都不超过105,表示这个数列。

    输出格式

    对于每组测试数据,输出一个整数。

    输入样例

    2

    4

    1 1 1 2

    5

    1 1 2 2 3

    输出样例

    1

    1

    #include<iostream>
    using namespace std;
    
    struct num {
        int weight = 0;
        int count = 0;
    }num[100];
    
    int a[100];
    int main() {
        int T,N,temp,max,j,minWeight;
        cin >> T;
        if (T > 100) {
            cout << "组数过多,请重新输入:";
            cin >> T;
        }
        while (T--) {
            cin >> N;
            for (int i = 0; i < N; i++) {
                cin >> temp;
                if (temp > 100000) {
                    cout << "输入数值过大,请重新输入:" << endl;
                    cin >> temp;
                }
                j = 0;
                bool flag = false;
                while (num[j].count != 0) {
                    if (temp == num[j].weight) {
                        num[j].count++;
                        flag = true;
                    }
                    j++;
                }
                if (flag == false) {
                    num[j].weight = temp;
                    num[j].count++;
                }
            }
    
            max = 0;
            minWeight = 0;
            for (int i = 0; i < j; i++) {
                if (num[i].count > max) {
                    max = num[i].count;
                    minWeight = num[i].weight;
                }
                cout << minWeight<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    题目:返回一个整数数组中最大子数组的和。(要求程序必须能处理1000 个元素)
    四则运算三(接受用户输入答案,并判断对错。)
    二维数组
    结对开发(一位数组)
    测试四则运算
    四则运算2
    程序设计思路
    项目计划总结
    小学二年级题目的改进
    二年级题目的改进
  • 原文地址:https://www.cnblogs.com/xym4869/p/8658224.html
Copyright © 2020-2023  润新知