查找并打印顺序表中的最大值及其下标

题目:

本题要求实现一个函数,可查找并打印某顺序表中的最大值及其下标。例如顺序表3-509-4中,最大值为9,在该函数中打印9,并换行打印其下标3。该函数无返回值。

函数接口定义:
在这里描述函数接口。例如:
void print_max_value_pos(Sqlist *L);
在这里解释接口参数。例如:其中 L 是用户传入的参数。 L 为指向顺序表的指针;函数无返回。

裁判测试程序样例:
#include <stdio.h>

typedef int Datatype;                        // 定义具体数据类型
    
#define LISTSIZE 100                        // LISTSIZE 表示顺序表可能的最大数据元素数目

/****** 顺序表存储结构 ******/
typedef struct
{
    Datatype items[LISTSIZE];
    int length;
}Sqlist;

/****** 初始化顺序表 ******/
int Initlist(Sqlist *L)                // L为指向顺序表的指针
{
    L->length = 0;            
    return 1;
}

/****** 输入5个整数到顺序表 ******/
void input(Sqlist *L)
{
    int i;
    for (i = 0; i < 5; i++)
    {
        scanf("%d", &L->items[i]);
        L->length++;
    }
}

/****** 查找最大值,打印最大值及其下标******/
void print_max_value_pos(Sqlist *L);

int main()
{
    Sqlist list;                        // 顺序表
    int i;
    Initlist (&list);                    // 初始化顺序表

    input(&list);
    print_max_value_pos(&list);
}

/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:

3 -5 0 9 -4
输出样例:
在这里给出相应的输出。例如:

9
3

答案:

void print_max_value_pos(Sqlist *L)
{
    int max;
    int  pos;
    int i;
    max=L->items[0];
    pos=0;
   for(i=1;i<L->length;i++)
   {
       if(L->items[i] > max)
       {
           max= L->items[i];
           pos= i;
       }
   }
   printf("%d\n",max);
   printf("%d\n",pos);
}
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值