#C01L09P02. C01.L09.求最值.for运用之查找最大值.例题2
C01.L09.求最值.for运用之查找最大值.例题2
题目描述
输入 N 个整数(数据范围不明),求其中最大值。
输入格式
第一行 1 个整数 N :范围在[1,200]。
第二行 N 个整数。
输出格式
一个整数。
样例
4
-3 -6 -1 -9
-1
思考
此题与上题情景相似,但不清楚题目数据的范围,那么 maxn 的初值应该设置为多少?数据范围是否还是用 int 呢?
如果题目的数据范围包含负数,或者不好根据数据范围来定初值的话,将所有的数据类型定义为 long long ,我们可以找到第一个数 a ,将 maxn 设为 a ,这样的话相当于 n 个数当中找最大值和最小值,也符合题意。
代码分析
-
输入一组整数的个数 n ;
-
在循环外先输入第一个数据 a ;
-
将第一个数据的值,赋值给 maxn ;
-
在循环中做以下操作:(注意此时只剩下 n-1 个数据需要输入)
-
继续读入下一个整数a;
-
判断这个整数 a 是否大于 maxn ,如果是,就将 a 的值存放到 maxn 中;
-
-
最后输出最大数maxn。
完成程序
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
long long a,maxn;
cin>>n; //输入整数的个数
cin>> 填空(1) ; //将第一个整数赋值给maxn
for(int i= 填空(2) ;i<=n;i++) //输入和比较其余的整数
{
cin>>a;//依次输入整数
if(a填空(3))
maxn = 填空(4)
}
cout<<maxn;
return 0;
}
填空(1):{{ input(1) }}
填空(2):{{ input(2) }}
填空(3):{{ input(3) }}
填空(4):{{ input(4) }}
相关
在以下作业中: