蓝桥杯每日一练之数列特征

121 阅读2分钟

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战

💛作者主页:静Yu

🧡简介:CSDN全栈优质创作者、华为云享专家、前端知识交流社区创建者

💛社区地址:bbs.csdn.net/forums/Jing…

第十三届蓝桥杯大赛个人赛省赛比赛将于2022年4月9日(星期六)举办,趁现在寒假的时间抓紧时间备战一下。因为博主本人报名是C/C++组,所以更新所有内容都是C/C++相关知识。题目全部都是蓝桥杯官网题库真题。今天是备战刷题的第八天。 题目: 给出n个数,找出这n个数的最大值,最小值,和。

输入格式:

第一行为整数n,表示数的个数。 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。

输出格式:

输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。

样例输入:

5
1 3 -2 4 5

样例输出:

5
-2
11

解题思路:

本题是求输入的所有数的最大值,最小值,和。这道题目比较简单,求和直接定义一个sum,初始化为0,然后将数组中的所有数相加就是最终的和。求最大值和最小值的方法相同,定义一个最大值和最小值,最大值初始值赋值为-999999,最小值初始值赋值为9999999,所以比较的还是输入到数组中的那些数,循环判断如果比最小值还小就将此值赋值给min,比最大值还大就将此值赋值给max。最后将最大值和最小值输出就可以。一定要记住换行输出,蓝桥杯评测系统还是很严格的。

完整代码:

#include <iostream>
#include <math.h>
using namespace std;
int main()
{

	int n;
	cin>>n;
	int a[n];
	int min=999999;
	int max=-9999999;
	int sum=0;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=n;i++)
	{
	
	sum=sum+a[i];
		if(a[i]>max)
			max=a[i];
		if(a[i]<min)
			min=a[i];	
	}
	cout<<max<<endl;
	cout<<min<<endl;
	cout<<sum<<endl;
	

}