#40853: 解答 c++


hs210023@students.hshs.chc.edu ... (天底下最帥的那個男人)

學校 : 不指定學校
編號 : 274462
來源 : [39.9.190.55]
最後登入時間 :
2024-06-17 21:52:54
a148. You Cannot Pass?! | From: [27.247.62.93] | 發表日期 : 2024-06-15 22:07

這段程式碼的功能是讀取多組數據,並判斷每組數據的平均值是否大於 59。如果大於 59,則輸出 "no",否則輸出 "yes"。程式碼中使用了一些 C++ 的標準庫,並且將陣列設置在全域變數。

 

以下是這段程式碼的詳細說明:

 

C++ 程式碼

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

int a[10005];  // 全域陣列,最大長度為 10005

int main() {
    int n;
    while (cin >> n) {  // 持續讀取輸入的數字 n
        double sum = 0;  // 初始化 sum 為 0,並設定為 double 型態
        for (int i = 0; i < n; i++) {
            cin >> a[i];  // 讀取 n 個數字並存入陣列 a
            sum += a[i];  // 將每個數字累加到 sum
        }
        if ((sum / n) > 59)  // 計算平均值並判斷是否大於 59
            cout << "no\n";  // 如果大於 59,輸出 "no"
        else
            cout << "yes\n";  // 否則輸出 "yes"
    }
}

 

說明

 

  1. 引入標頭檔案
    • 使用 #include <bits/stdc++.h> 來引入所有標準庫,這是競賽編程中常用的方式。
  2. 全域陣列
    • 定義了一個全域陣列 a,最大長度為 10005。
  3. 主函數
    • 使用 while (cin >> n) 來持續讀取輸入的數字 n
    • 初始化 sum 為 0,並設定為 double 型態,以確保計算的精確性。
    • 使用 for 迴圈來讀取 n 個數字並存入陣列 a,同時將每個數字累加到 sum
    • 計算平均值 (sum / n) 並判斷是否大於 59:
      • 如果大於 59,輸出 "no"。
      • 否則輸出 "yes"。

 

這段程式碼能夠正確地判斷每組數據的平均值是否大於 59,並輸出相應的結果。如果有任何問題或需要進一步的解釋,隨時告訴我!
 
ZeroJudge Forum