题目:将一个数组逆序输出。
第一种:第一个数与最后一个数交换,第二个数与倒第二个数交换,以此类推。
代码见真知:
#include<stdio.h> int main() { int t[10],i,middle; printf("请输入十个数:"); for(i=0;i<10;i++) { scanf("%d",&t[i]); } for(i=0;i<5;i++) //由于一次交换涉及两个数,所以i只需要小于5而不是小于10 { middle=t[i]; //将第一个数用middle暂时储存起来 t[i]=t[9-i]; //将最后一个数放到第一个位置 t[9-i]=middle; //将第一个放到最后一个位置,其余以此类推 } printf("逆序后的结果为:"); for(i=0;i<10;i++) { printf("%d ",t[i]); } return 0; }
以上是最正确的解释,还可以偷个懒,直接打印,代码如下:
#include<stdio.h> int main() { int t[10],i; printf("请输入十个数:"); for(i=0;i<10;i++){ scanf("%d",&t[i]); } printf("逆序后的结果为:"); for(i=9;i>=0;i--){ printf("%d ",t[i]); //直接反向打印出来 } return 0; }