題目:
一次考試中,於所有及格學生中獲取最低分數者最為幸運,反之,於所有不及格同學中,獲取最高分數者,可以說是最為不幸,而此二種分數,可以視為成績指標。
請你設計一支程式,讀入全班成績(人數不固定),請對所有分數進行排序,並分別找出不及格中最高分數,以及及格中最低分數。
當找不到最低及格分數,表示對於本次考試而言,這是一個不幸之班級,此時請你印出「worst case」;反之,當找不到最高不及格分數時,請你印出「best case」。
<aside> 💡
基本的輸入輸出及迴圈搭配假設語法
python 排序: .sort()
c++ 排序:sort(a,a+n) a:陣列名稱/n:陣列大小
</aside>
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")
#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;
}