第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;
}
······通关成功······
如有问题,敬请斧正。