思路:数组元素交换
执行步数为数组长度的一半(不论长度为奇数偶数)
注意:数组最后一个元素下标与长度的关系
/*
数值倒置算法,以中间分割
*/
# include <stdio.h>
int main(void)
{
int a[] = {1,3,342,1,43,64,459,34,86,578,45,87,86,29,98,123,231,435,532};
int size = sizeof(a) / sizeof(a[0]); //获取数组元素个数
int i,j,buf; //循环变量 i,j 与中间变量 buf
j = size-1; //j为最后一个元素的下标,i为第一个元素的下标
printf("size=%d\n", size);
for(i=0; i<j; i++,j--)
{
buf = a[i];
a[i] = a[j];
a[j] = buf;
}
for(i=0; i<size; i++)
{
printf("%d\x20", a[i]);
}
printf ("\n");
return 0;
}