题目
问题描述
给出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;
}