有一个一维数组包含10个元素,编写程序将其值重新存放,即第一个元素与最后一个交换位置,第二个与倒数第二个交换位置,以此类推,输出逆序前和逆序后的结果。
其中的数组可以包含更多的元素,其实,设计这种逆序问题主要是分析问题,观察逆序的核心在哪。就这道题而言,总共有10个元素,第一个与最后一个交换,第二个与倒数第二个交换,所以可以得第一个元素的下标和倒数第一个元素的下标和为确定的数,所以这道题就解决了。
在这里插入代码片#include <stdio.h>
int main(int argc, char **argv) {
int f[10],g[10];
int temp,a;
printf("请输入10个整数:\n");
for(int z=0;z<10;z++){
scanf("%d",&a);
f[z]=a;
g[z]=a;
}
for(int i=0;i<=4;i++){
temp=f[i];
f[i]=f[9-i];
f[9-i]=temp;
}
printf("逆序前:逆序后:\n");
for(int j=0;j<10;j++){
printf("%5d %5d\n",g[j],f[j]);
}
}