题目:将一个数组逆序输出。
程序分析:用第一个与最后一个交换。
代码:
#include <stdio.h>
int main()
{
int a[]={0,1,2,3,4,5,6,7,8,9};
int length=sizeof(a)/sizeof(int);
int i;
int temp;
printf("原始数组是:\n");
for(i=0;i<length/2;i++){
temp=a[i];
a[i]=a[length-1-i]; //不难发现,左右对称的的一对数互为补码
a[length-1-i]=temp;
}
printf("\n排序后的数组:\n");
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
return 0;
}
运行:
原始数组是:
0 1 2 3 4 5 6 7 8 9
排序后的数组:
9 8 7 6 5 4 3 2 1 0