羊角号:C语言编程:

来源:百度文库 编辑:高校问答 时间:2024/04/28 07:11:06
将长度为24的一维数组中下标为3的倍数的元数由小到大的排序,其他元素不变.

利用选择排序法:递进量为3
#define N 24
main()
{
int a[N],i,j,temp;
printf("\nplease input the original array:\n");
for (i=0;i<N;i++)
scanf("%d",&a[i]);
for (i=0;i<N;i+=3)
for (j=i;j<N;j+=3)
{if(b[i]>b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}
printf("\nthe sorted array is:\n");
for (i=0;i<N;i++)
printf("%5d",a[i]);

}

main()
{
int i,j,t;
int a[24];

//...将a赋值的语句

for (i=0;i<24;i+=3)
{
for (j=i;j<24;j+=3)
{
if (a[j]<a[i])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
return 0;
}

无非是对下标为0,3,6,......21为元素排序而已