返回列表 發帖

704 過半數

1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。

2. 設計說明:
請撰寫一程式,讓使用者輸入一個正整數n1 < n ≤ 15),接著輸入n個整數判斷此數列中是否有數值出現的次數超過半數若有,請輸出此數值為何;若無,請輸出「error」

提示:n個整數的數列中,若出現次數大於n/2的值,稱為「過半數」。
提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。

3. 輸入輸出:
輸入說明
一個正整數n(1 < n ≤ 15)及n個整數

輸出說明
判斷是否有過半數

範例輸入1
5
2 1 3 2 2

範例輸出1
2

範例輸入2
4
5 5 6 6

範例輸出2
error

本帖隱藏的內容需要回復才可以瀏覽

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int m[15];

  6.     int a;
  7.     cin>>a;
  8.     for(int i=0;i<a;i++)
  9.     {
  10.         int x;
  11.         cin>>x;
  12.         m[x-1]++;
  13.         if(m[x-1]>a/2)
  14.         {
  15.             cout<<x;
  16.             return 0;
  17.         }
  18.     }
  19.     cout<<"error";
  20. return 0;
  21. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;

  3. int main()
  4. {
  5.     int n,m[15]={0};
  6.     cin>>n;
  7.     for(int i=0;i<n;i++)
  8.     {
  9.         int a;
  10.         cin>>a;
  11.         m[a-1]++;
  12.     }
  13.     for(int i=0;i<15;i++)
  14.     {
  15.         if(m[i]>n/2)
  16.         {
  17.             cout<<i+1;
  18.             return 0;
  19.         }
  20.     }
  21.     cout<<"error";

  22. }
複製代碼

TOP

返回列表