1. 程式人生 > 實用技巧 >【TFLSnoi李志帥】第十一篇文章---考試題精選

【TFLSnoi李志帥】第十一篇文章---考試題精選

C - 求最值(課後作業 )

輸入一個長度為n的陣列,輸出他的最大值和最小值。

Input第一行一個整數n,表示陣列長度,1≤n≤100000; 接下來n行,每行一個整數ai,表示陣列的內容,-2147483648≤ai≤2147483647。Output輸出一行兩個數字,用空格分開,分別表示最小值和最大值。Sample Input
3
-1
0
1
Sample 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];
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 }

以上程式碼有些繁瑣,可以去掉n==1的判斷 歡迎提出修改意見!