#C02L02P04. C02.L02.一维数组最值问题.知识点2.求最大值出现的位置
C02.L02.一维数组最值问题.知识点2.求最大值出现的位置
从键盘读入n(1<=n<=100)个互不相同的正整数,问第几个数是最大值。
算法分析
-
假设一个最大值 maxx=0,并定义一个变量 pos 记录最大值下标;
-
maxx 依次跟数组中的元素进行比较;
-
如果该数组元素大于 maxx,则将该数组元素值赋值给 maxx ,同时将该元素的下标值赋值给 pos ;
-
pos 即为该数组中的最大值的下标。
参考代码
#include<bits/stdc++.h>
using namespace std;
int n,a[105];
int maxx=0,pos;//maxx初始值要比任一数组元素的值小
int main()
{
cin>>n; //读入数组元素个数
for(int i=1;i<=n;i++) //数组赋值
cin>>a[i];
for(int i=1;i<=n;i++) //数组元素依序跟maxx比较
if(a[i]>maxx) maxx=a[i],pos=i; //记录最大值跟最大值的下标
cout<<pos; //将最大值下标输出
return 0;
}
相关
在以下作业中: