数组中最大最小值(C语言实现)

【题目描述】

从键盘输入n(n从键盘输入,n<=100)个数存放在数组中,输出其中的最大数和最小数及他们对应的下标。

【输入说明】

输入包含2行,第一行只有1个数字表示n,第二行有连续n个数字,其间用半角空格间隔。

【输出说明】

输出只有1行,顺次输出最大数、最小数、最大数的下标和最小数的下标,其间用一个半角空格间隔。

【输入样例】

4

100 90 80 55

【输出样例】

100 55 1 4

代码实现

#include <stdio.h>

int a[200]={0},k,t=0,i,q,p;

int max(int b[200])

{

    for(i=1;i<=k;i++)

       {

           if(t==1)

           {

               if(b[p]>=b[i])continue;

               else p=i;

           }

           else if(b[i]>=b[i+1])p=i;

                else p=i+1;

                t=1;

       }

       return b[p];

}

int min(int c[200])

{

    t=0;

    for(i=1;i<=k;i++)

       {

           if(t==1)

           {

               if(c[q]<=c[i])continue;

               else q=i;

           }

           else if(c[i]<=c[i+1])q=i;

                else q=i+1;

                t=1;

       }

       return c[q];

}

int main()

{

    int m,n;

    scanf("%d",&k);

    for(i=1;i<=k;i++)

    {

        scanf("%d",&a[i]);

    }

    if(k==1) printf("%d %d %d %d",a[1],a[1],1,1);

    else{m=max(a);

        n=min(a);

        printf("%d %d %d %d",m,n,p,q);}

  return(0);

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值