SWUST OJ 1035: 定位顺序表中的最大和最小值

83 阅读1分钟

题目描述

建立长度为n的顺序表,在表中找出最大值和最小值元素所在的位置。
输入

第一行为顺序表的长度n;第二行为顺序表中的数据元素;

输出

第一行为最大值的位置;第二行为最小值的位置。

本题输出格式:第一行输出需换行,第二行输出无需换行。

样例输入

7
1 2 3 4 5 6 7

样例输出

Lmax=6
Lmin=0

思路:定义一个数组,定义int类型的变量存储最大值和最小值,当然这里要求的是求出它们所在的位置,需要再定义两个变量来存储最值所在的位置,

代码如下:

#include<iostream>
#include<bits/stdc++.h>//万能头文件
using namespace std;
int n;
int str[999];
int Lmax,Lmin;
int Max,Min;
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>str[i];
	}
	Lmax=str[0];
	Max=0;
	Lmin=str[0];
	Min=0;
	for(int i=0;i<n;i++)
	{
		if(str[i]>=Lmax)
		{
			Max=i;
			Lmax=str[i];
		}
		if(str[i]<=Lmin)
		{
		Min=i;
			Lmin=str[i];
		}
	}
	printf("Lmax=%d\n",Max);
	printf("Lmin=%d",Min);//注意此处不再换行
	return 0; 
}

这道题还是不难的