#35428: c++殘風解


eddiehu (Eddiehu)

學校 : 不指定學校
編號 : 221727
來源 : [114.27.42.119]
最後登入時間 :
2024-02-09 23:40:06
b964. 1. 成績指標 -- 2016年3月apcs | From: [114.27.48.196] | 發表日期 : 2023-06-02 01:00

一個一個說
 
#include<bits/stdc++.h>
 
using namespace std;
 
int main(){
int a,d[100],b=0,c=0;
cin>>a;                                                  先輸入陣列大小(幾個成績)
for(int i=0;i<a;i++){                               再來輸入陣列每一項的值                           
cin>>d[i];
}
for(int i=0;i<a;i++){                               用泡沫排序法讓整個陣列由小到大排序並輸出。
for(int j=a-1;j>i;j--){
if(d[j]<d[j-1]){
swap(d[j],d[j-1]);
}
}
}
for(int i=0;i<a;i++){
cout<<d[i]<<" ";
}
cout<<endl;
 
int max=d[a-1],min=d[0];                           因為前面已經排序了所以最大值就是陣列最後一項,最小值就是陣列首項(可以用來斷是否全都及格或全都不及格
                                                                    接下來就是按照題目要求輸出啦
for(int i=0;i<a;i++){                                          由小到大讀陣列當出現及格值時的前一位就是不及格最大值(記得先判斷是否全部及格!!         
if(min>=60){
cout<<"best case "<<endl;
break;
}
else if(max<60){      
cout<<d[a-1]<<endl;
break;
}
else if(d[i]>=60){
cout<<d[i-1]<<endl;
break;
}
}
 
for(int i=a-1;i>=0;i--){                                       由大到小讀陣列當出現不及格值時的後一位就是及格最小值(記得先判斷是否全部不及格!!     
if(max<60){
cout<<"worst case "<<endl;
break;
}
else if(min>=60){
cout<<d[0]<<endl;
break;
}
else if(d[i]<60){
cout<<d[i+1]<<endl;
break;
}
}
 
 
 return 0;
}

 

 
ZeroJudge Forum