C语言关于逆向排序

来源:百度知道 编辑:UC知道 时间:2024/06/04 02:48:49
int a[]={1,2,3,4,5},i,j,n,t;
n=4;
for(i=0;i<=n;i++)
t=a[i];
a[i]=a[n-i];
a[n-i]=t;
for(i=0;i<5;i++)
printf("%d\n",a[i]);
我想做到逆向排序数组,这样排,感觉对的啊,为什么会出错呢,正确的形式应该是怎么排

include<stdio.h>
void main()
{
int a[]={1,2,3,4,5},i,j,n,t;
n=4;
for(i=0;i<=n/2;i++)//n改为n/2
{
t=a[i];
a[i]=a[n-i];
a[n-i]=t;
}//把三句括起来
for(i=0;i<5;i++)
printf("%d\n",a[i]);

}

参考:
#include<stdio.h>>
main()
{
int a[]={1,2,3,4,5},i,n,t;
n=4;
for(i=0;i<=n/2;i++) //两个数交换时要把交换语句用 { } 括起来
{ // i的取值只能到 n/2 若到 n 那么交换了的数又交换回去了 ,就相当于没有交换
t=a[i];
a[i]=a[n-i];
a[n-i]=t;
}
for(i=0;i<5;i++)
printf("%d\n",a[i]);
getchar();
}