gpt4 book ai didi

c - 使用交替的最小值和最大值对数组进行排序

转载 作者:行者123 更新时间:2023-11-30 17:03:22 24 4
gpt4 key购买 nike

给定一个数组,我被要求以某种方式对其进行排序,以便最小值排在第一位,最大值排在第二位,第二小的值排在第三位,依此类推。但是,当我输入值时,我没有得到所需的输出。

感谢您的建议,因为我今天要考试。

#include<stdio.h>
int main()

{
int i,j,k,a[6],temp,min;
for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(j=0;j<6;j++)
{
if(j%2==0)
{
min=a[j];
for(k=j;k<6;k++)
{
if(a[k++]<min)
min=a[k++];
}

temp=a[j];
a[j]=min;
min=temp;
}
else
{
min=a[j];
for(k=j;k<6;k++)
{
if(a[k++]>min)
min=a[k++];
}

temp=a[j];
a[j]=min;
min=temp;
}
printf("%d ",a[j]);
}
}

最佳答案

min 用作索引(min=j) 而不是值(min=a[j])

像这样:

min=j;
for(k=j;k<6;k++)
{
if(a[k]<a[min]){//if(a[k]>a[min]){
min=k;
}
}

temp=a[j];
a[j]=a[min];
a[min]=temp;

关于c - 使用交替的最小值和最大值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36228094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com