#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;
}
想法:輸入所有數之後排序,第一個最大倒數第一個最小,第一個減掉最後一個就是答案
#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;
}
想法:輸入所有數之後排序,第一個最大倒數第一個最小,第一個減掉最後一個就是答案
Q: 你排序後能確保第一個最大的數 在當初數列的順序i 會小於最後一個數嗎? 請換個方式吧 :)