题目:将一个数组逆序输出。
第一种:第一个数与最后一个数交换,第二个数与倒第二个数交换,以此类推。
代码见真知:
#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;
}