【TFLSnoi李志帥】第十一篇文章---考試題精選
阿新 • • 發佈:2020-08-20
C - 求最值(課後作業 )
輸入一個長度為n的陣列,輸出他的最大值和最小值。
Input第一行一個整數n,表示陣列長度,1≤n≤100000; 接下來n行,每行一個整數ai,表示陣列的內容,-2147483648≤ai≤2147483647。Output輸出一行兩個數字,用空格分開,分別表示最小值和最大值。Sample Input3 -1 0 1Sample Output
-1 1
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————程式碼
1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 long long n,a[100005],max=-2147483647,s=2147483647;//有點記不清int資料範圍了,以防萬一用了long lomg 6 cin>>n; 7 for(int i=1;i<=n;i++){ 8 cin>>a[i]; 9 if(a[i]>max)max=a[i]; 10 if(a[i]<s)s=a[i];以上程式碼有些繁瑣,可以去掉n==1的判斷 歡迎提出修改意見!11 } 12 if(n!=0 && n!=1)//特殊值判斷 13 cout<<s<<" "<<max; 14 else if(n==0) 15 cout<<0<<" "<<0; 16 else if(n==1)cout<<a[1]<<" "<<a[1]; 17 return 0; 18 }