写在前面
本文之用途是记录本人在学习过程中所遇到的问题、总结经验,而不是教程。若能为您提供帮助我将感到万分荣幸。若您发现问题,还请指出,我将不胜感激!
若不想看前面的解析,可以一拉到底直接看完整代码。
-----------------------------------------------分割线-----------------------------------------------
问题描述
给出n个数,找出这n个数的最大值,最小值,和。
输入格式
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入
5
1 3 -2 4 5
样例输出
5
-2
11
解题思路
分析问题,此程序需要编写以下功能模块:
- 求最大值
- 求最小值
- 求和
- 给数组每个元素赋值(写在主函数中)
实现步骤
- 求最大值
int max(int a[],int n){
int i,max=*a;//将数组第一个元素的值赋给max
for(i=1;i<n;i++){
//从第二个元素开始与max比较
if(a[i]>=max){
max=a[i];
}
}
return max;
}
- 求最小值
int min(int a[],int n){
int i,min=*a;//将数组第一个元素的值赋给min
for(i=1;i<n;i++){
//从第二个元素开始与max比较
if(a[