如何将一个数组中的值按逆序排放

来源:百度知道 编辑:UC知道 时间:2024/05/05 12:56:17
例如输入8,6,5,4,1按1,4,5,6,8输出。我很急的,请各位高手帮帮忙,谢了!

逆序排放:
#include <stdio.h>

#define MAX 100

main()
{
int sz[MAX];
int n=0;

scanf("%d",&n); /*输入数字个数(本例中最多100个)*/
for(int i=0;i<n;i++)
scanf("%d",&sz[i]);
for(i=0;i<n/2;i++) /*颠倒顺序*/
sz[i] = sz[n-i-1];

getchar(); /*这句话相当于暂停,按任意键后程序结束*/
}

如果只是逆序输出的话,用楼上(酷的酷的study)的那个代码就可以了。

#include<stdio.h>

main()
{
int n,a[101];
int i;
scanf("%d",&n); /*输入数字个数(本例中最多100个)*/
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=n;i>=1;i--)
printf("%d ",a[i]);
printf("\n");
getchar();
getchar(); /*这句话相当于暂停,按任意键后程序结束*/
}

说明:如果只是要按逆序输出的话,其实不必改变原来的顺序,只需让数组的下标倒着再输一遍就行了。
最后两个 getchar() 是暂停让你看结果的,这是我的习惯,对程序无影响

两种方案:

1、输入的时候从最大下标开始到下标0的逆