资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
给出n个数,找出这n个数的最大值,最小值,和。
输入格式
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入
5
1 3 -2 4 5
样例输出
5
-2
11
数据规模与约定
1 <= n <= 10000。
代码思路:比较粗暴一点就是定义一个10000的数组array[10000],保证能容纳n个元素。然后把max和min都初始化为array[0]。在for循环中依次和n个元素比较,若max偏小或者min偏大则更新。此外还初始化了一个sum=0,在for循环中每次比较的时候顺便加上元素的值,当for循环结束也就完成了求和。
#include <iostream>
using namespace std;
int main()
{
int n = 0;
int sum = 0;
int array[10000];
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> array[i];
}
int max = array[0];
int min = array[0];
for (int i = 0; i < n; i++)
{
sum = sum + array[i];
if (max < array[i])
{
max = array[i];
}
if (min > array[i])
{
min = array[i];
}
}
cout << max << endl;
cout << min << endl;
cout << sum << endl;
}