练习十第九题最大位置问题

题目如下:

输入n个整数, 存放在数组a[1]至a[n]中,输出最大数所在位置(n≤1000)。

输入描述:

第一行,数的个数n;

第二行,n个正整数,每个数在232−1之内。

输出描述:

最大数所在位置,当有多个相同的数,输出第一次出现的位置。

解决此问题,我们应该先输入几个元素,然后最重要的是进行数组最大的元素和元素位置进行初始化,代码如下:

int n;

cin >> n;

int *a = new int[n];

for(int i = 0;i < n;i++)

{

cin >> a[i];

}

int b = a[0];

int max_num = 0;

然后再对最大元素和最大元素的位置进行判断:

用for循环不断去遍历数组中的元素,如果a[i] > b;把这个位置赋给最大元素的位置,但输出时由于数组是以0为开始,需要+1

for(int i = 1;i < n;i++)

{

if(a[i] > b)

{

b = a[i];

max_num = i;

}

}

总代码如下:

#include <iostream>

#include<bits/stdc++.h>

using namespace std;

int main()

{

int n;

cin >> n;

int *a = new int[n];

for(int i = 0;i < n;i++)

{

cin >> a[i];

}

int b = a[0];

int max_num = 0;

for(int i = 1;i < n;i++)

{

if(a[i] > b)

{

b = a[i];

max_num = i;

}

}

cout << max_num+1 << endl;

return 0;

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务