#include <stdio.h>
#define N 100 //宏定义 后面改值方便
int main(void)
{
int a[N]={1,34,23,67,89,41,45,78,99};
if(N%2==0) //如果数组长度为偶数,则代表从两头往中间交换 最后最中间的这两个值还需要交换 他们的值差1
{
int m=0,n=N-1; //从数组的第一位数与最后一位数开始交换
for(;m<n;m++,n--)
{
int b=a[m];
a[m]=a[n];
a[n]=b;
}
int b=a[m]; //最中间的两位换值
a[m]=a[n];
a[n]=b;
}
else //如果数组的长度为奇数 则代表最后最中间的那位不动
{
int m=0,n=N-1;
for(;m<(N/2+1) || n>(N/2+1);m++,n--)//条件表达式就是m<(N/2+1) || n>(N/2+1)小于或大于中间值
{
int b=a[m];
a[m]=a[n];
a[n]=b;
}
}
for(int j=0;j<N;++j)
if(a[j]!=0)
printf("%d\t",a[j]);
putchar('\n');
return 0;
}
将一个数组中的值按逆序重新存放。例如,原来顺序是8,6,5,4,1.要求改为1,4,5,6,8。
最新推荐文章于 2024-11-02 17:51:42 发布