b964. 1. 成績指標 - 高中生程式解題系統

題目:

一次考試中,於所有及格學生中獲取最低分數者最為幸運,反之,於所有不及格同學中,獲取最高分數者,可以說是最為不幸,而此二種分數,可以視為成績指標。

請你設計一支程式,讀入全班成績(人數不固定),請對所有分數進行排序,並分別找出不及格中最高分數,以及及格中最低分數。

當找不到最低及格分數,表示對於本次考試而言,這是一個不幸之班級,此時請你印出「worst case」;反之,當找不到最高不及格分數時,請你印出「best case」。

<aside> 💡

基本的輸入輸出及迴圈搭配假設語法

python 排序: .sort()

c++ 排序:sort(a,a+n) a:陣列名稱/n:陣列大小

</aside>

python

I = int(input())
num = [int(I) for I in input().split()]
num.sort()
print(" ".join(map(str, num)))

a, b = 0, 0  # a檢查有沒有60以下 b檢查有沒有60以上
num.sort(reverse=True)

for j in range(I):
    if num[j] < 60:
        print(num[j])
        b += 1
        break

if b == 0:
    print("best case")

num.sort()

for i in range(I):
    if num[i] >= 60:
        print(num[i])
        a += 1
        break

if a == 0:
    print("worst case")


c++

#include<bits/stdc++.h>
using namespace std;
int main(){
    int num;
    cin>>num;
    int data[num];
    for(int i=0;i<num;i++)
        cin>>data[i];
    sort(data,data+num);

    for(int i=0;i<num;i++)
        cout<<data[i]<<" ";
    cout<<endl;

    reverse(data,data+num);
    for(int i=0;i<num;i++){
        if(data[i]<60){
            cout<<data[i]<<endl;
            break;
        }
        else if(i==num-1 and data[i]>60)
            cout<<"best case"<<endl;
    }
    
    reverse(data,data+num);
    for(int i=0;i<num;i++){
        if(data[i]>=60){
            cout<<data[i]<<endl;
            break;
        }
        else if(i==num-1 and data[i]<60)
            cout<<"worst case"<<endl;
    }
    return 0;
}