BASIC-3 數列特徵
阿新 • • 發佈:2019-01-06
題目
問題描述
給出n個數,找出這n個數的最大值,最小值以及它們的和。
輸入格式
第一行為整數n,表示數的個數。
第二行有n個數,且給定的n個數,每個數的絕對值都小於10000。
輸出格式
輸出三行,每行有一個整數。第一行表示這些數中的最大值,第二行表示這些數中的最小值,第三行表示這些數的和。
樣例輸入
5
1 3 -2 4 5
樣例輸出
5
-2
11
資料規模與約定
1 <= n <= 10000
題解(一)
起始設定比輸入值最小還小的最大值,設定比輸入值最大值還大的最小值,初始化和為0,對於每個輸入,判斷是否比最大值大,是否比最小值小,累加.
#include<algorithm> #include<iostream> using namespace std; int main() { const int MAX = 1000; int n, max = -MAX, min = MAX, number, sum = 0; cout << "請輸入幾個數:"; cin >> n; for (int i = 0; i < n; i++) { cin >> number; max = number > max ? number : max; min = number < min ? number : min; sum = sum + number; } cout << max << " " << min << endl << sum << endl; return 0; }
題解(二)
起始設定比輸入值最小還小的最大值,設定比輸入值最大值還大的最小值,初始化和為0,對於每個輸入,判斷是否比最大值大,是否比最小值小,累加.
#include<iostream> using namespace std; int main(){ int n; int val; int max = -10001; int min = 10001; int sum = 0; cin>>n; while(n--){ cin>>val; if(val < min) min = val; if(val > max) max = val; sum += val; } cout<<max<<endl; cout<<min<<endl; cout<<sum<<endl; return 0; }