如果覺得可以的話,記得關注一下哦,有什麼問題的話,記得下方留言
一,題目描述:
輸入n個整數,輸出出現次數大於等於數組長度一半的數。
輸入描述:
每個測試輸入包含 n個空格分割的n個整數,n不超過100,其中有一個整數出現次數大於等於n/2。
輸出描述:
輸出出現次數大於等於n/2的數。
示例1
輸入
3 9 3 2 5 6 7 3 2 3 3 3
輸出
3
二,程序分析
- 創建變量,和一個變量數組vector。
- 將輸入變量的數值插入到數組中,並且進行排序。
- 根據題意,多的數肯定比這個數組的一半長,那麼輸出這個位置下標的值,打印出來就得到結果了
三,分析結果的代碼
#include<iostream>
//#include<string>
#include<vector>
#include <algorithm>
using namespace std;
int main()
{
//創建變量,和一個變量數組vector
int n;
vector<int> vi;
while (cin >> n)
//將輸入變量的數值插入到數組中
vi.push_back(n);
//將這個數組進行排序
sort(vi.begin(), vi.end());
//多的數肯定比這個數組的一半長,那麼輸出這個下標的值,打印就好了
cout << vi[vi.size() / 2 - 1] << endl;
return 0;
}
四,運行結果: