BASIC-3 数列特征

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



猜你喜欢

转载自blog.csdn.net/qq_42403069/article/details/85850937
今日推荐