0
点赞
收藏
分享

微信扫一扫

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

题目描述

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

输入

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

输出

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

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

样例输入

7
1 2 3 4 5 6 7

样例输出

Lmax=6
Lmin=0

参考程序

#include<stdio.h>
#include<stdlib.h>
#define Max 100
typedef struct LNode
{
	int a[Max];
	int len;
}LinkNode;
LinkNode *Creat(int n)
{
	LinkNode *head;
	head=(LinkNode *) malloc (sizeof(LinkNode));
	head->len=0;
	while(n!=0)
	{
		scanf("%d", &head->a[head->len]);
		head->len++;
		n--;
	}
	return head;
}
int MAX(LinkNode *head)
{
	int max=head->a[0];
	int x=0;
	for(int i=1; i<head->len; i++)
	{
		if(head->a[i] > max)	
		{
			max=head->a[i];
			x=i;
		}
	}
	return x;
}
int MIN(LinkNode *head)
{
	int min=head->a[0];
	int x=0;
	for(int i=1; i<head->len; i++)
	{
		if(head->a[i] < min)	
		{
			min=head->a[i];
			x=i;
		}
	}
	return x;
}
int main()
{
	int n;
	scanf("%d", &n);
	LinkNode *head=Creat(n);
	printf("Lmax=%d\nLmin=%d",MAX(head), MIN(head));
}

注意

该程序仅供学习参考!

举报

相关推荐

0 条评论