数列特征问题——算法

数列特征

问题描述

问题描述

给出n个数,找出这n个数的最大值,最小值,和。

输入格式

第一行为整数n,表示数的个数。

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

输出格式

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

样例输入

5
1 3 -2 4 5

样例输出

5
-2
11

数据规模与约定

1 <= n <= 10000。

问题分析

数列首先采用一个数组来存取。其次需要循环遍历每个数,找出最大与最小数,并在遍历过程中累加每一个数

代码实现

#include <iostream>
#include <bits/stdc++.h>
using namespace std;  
int main(){
	int n;//数的个数
	cin>>n; 
	int a[n];
	for(int i=0;i<n;i++)
		cin>>a[i];
	int max=a[0],min=a[0],sum=a[0];
	for(int j=1;j<n;j++){
		if(max<a[j])
			max=a[j];
		if(min>a[j])
			min=a[j];
		sum+=a[j];
	}
	cout<<max<<endl;
	cout<<min<<endl;
	cout<<sum<<endl;
	return 0;
}

运行结果

4
5 -5 1 6
6
-5
7

--------------------------------
Process exited after 8.22 seconds with return value 0
请按任意键继续. . .

总结

不知道为什么,初始值给maxminsum为0,从a[0]开始的时候,评测没有完全通过,于是当数组赋值完以后,将首位元素赋值给maxminsum,重新跑了一次,就可以了,有点迷。其他还好,就一个循环遍历,与找最大最小的结合。

发布了60 篇原创文章 · 获赞 5 · 访问量 5074

猜你喜欢

转载自blog.csdn.net/qq_38496329/article/details/104032126