输入一批整数,以0为结束标志,找出最大数和最小数所在的位置,并把二者对调

educoder 专栏收录该内容
42 篇文章 4 订阅

第1关:输入一批整数,以0为结束标志,找出最大数和最小数所在的位置,并把二者对调
任务描述
本关任务:输入一批整数,最多不超过100个,以 0 为结束标志,找出最大数和最小值所在的位置,并把二者对调,然后输出调整后的这批整数。
测试说明
平台会对你编写的代码进行测试:

测试输入:
21 47 37 69 2 8 76 50 9 41 0

预期输出:
最大值:76,下标:6
最小值:2,下标:4
21 47 37 69 76 8 2 50 9 41

#include<stdio.h>
#define N 100
int main()
{
    int a[N],i,j,k,t,n,max,min;
    scanf("%d",&n);
    for(i=0;n!=0;i++)
    {
        a[i]=n;
        scanf("%d",&n);
    }   
    k=i;
    min=0;
    max=0;
    for(j=0;j<i;j++)
{
    if(a[j]>a[max])max=j;
    if(a[j]<a[min])min=j;
}
    printf("最大值:%d,下标:%d\n最小值:%d,下标:%d\n",a[max],max,a[min],min);
    t=a[min];
    a[min]=a[max];
    a[max]=t;
    for(i=0;i<k;i++)
    printf("%d ",a[i]);
	return 0;
}

······通关成功······
如有问题,敬请斧正。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值