C语言中:将一维数组中的n(n<=50)个数按逆序存放。怎么编程?

C语言中:将一维数组中的n(n<=50)个数按逆序存放。怎么编程?请写详细过程

思路就是将

数组中第一个和最后一个换位置

第二个和倒数第二个换位置

以此类推

源代码如下:

#include<stdio.h>

int main(){

int n; //n个数字

int i; //循环变量 

int num[50];

scanf("%d",&n);

for(i=0;i<n;i++) scanf("%d",&num[i]);

for(i=0;i<n/2;i++){

int t; //交换值的中间变量

t=num[i];

num[i]=num[n-i-1]; //注意是n-i后还要-1 

num[n-i-1]=t; //因为当n为5的时候,num[0]对应的是[4]而不是[5] 

}

for(i=0;i<n;i++){

printf("%d ",num[i]);

}

return 0;

}

追问

要出结果是不是要在光标框那输入数据?(自学新手不太懂)还有,要输入多少个数?

追答

当然也可以在定义数组的同时直接确定数组元素
例如:int num[]={1,2,3,4,5};
此时n=sizeof(num)/sizeof(num[0]);

温馨提示:答案为网友推荐,仅供参考
相似回答