#15081: 錯在哪?


fdhs107eddy0804 (tofudoctor)

學校 : 桃園市私立復旦高級中學
編號 : 82882
來源 : [59.102.177.115]
最後登入時間 :
2024-04-21 17:31:58
c435. MAX ! MAX ! MAX ! | From: [220.141.119.171] | 發表日期 : 2018-09-09 20:38

#include<iostream>
using namespace std;
int main()
{
int time;
while(cin>>time){
int num[time];
for(int i=0;i<time;i++){
cin>>num[i];
}
for(int j=0;j<time-1;j++){
for(int k=j+1;k<time;k++){
if(num[k]>num[j]){
int tmp=num[j];
num[j]=num[k];
num[k]=tmp;
}
}
}
cout<<num[0]-num[time-1]<<'\n';
}
return 0;
}

 

 

想法:輸入所有數之後排序,第一個最大倒數第一個最小,第一個減掉最後一個就是答案

 

 

#1: 10% WA (line:1)

您的答案為: 9741
正確答案為: 9720



#3: 10% WA (line:1)

您的答案為: 9999
正確答案為: 9997
 
#15087: Re:錯在哪?


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
c435. MAX ! MAX ! MAX ! | From: [114.137.248.15] | 發表日期 : 2018-09-10 14:26

#include
using namespace std;
int main()
{
int time;
while(cin>>time){
int num[time];
for(int i=0;i<time;i++){
cin>>num[i];
}
for(int j=0;j<time-1;j++){
for(int k=j+1;k<time;k++){
if(num[k]>num[j]){
int tmp=num[j];
num[j]=num[k];
num[k]=tmp;
}
}
}
cout<<num[0]-num[time-1]<<'\n';
}
return 0;
}

 

 

想法:輸入所有數之後排序,第一個最大倒數第一個最小,第一個減掉最後一個就是答案

 

 

#1: 10% WA (line:1)

您的答案為: 9741
正確答案為: 9720



#3: 10% WA (line:1)

您的答案為: 9999
正確答案為: 9997

Q: 你排序後能確保第一個最大的數 在當初數列的順序i 會小於最後一個數嗎? 請換個方式吧 :)


 
ZeroJudge Forum