题目描述
建立长度为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));
}
注意
该程序仅供学习参考!