今天分享给大家一个实现逆序输出数组的程序。咱们先上代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define M 10
int main()
{
int a[M], m, n, temp;
for (m = 0; m < M; m++)
scanf("%d", &a[m]);
m = 0;
n = M - 1;
while (m < n)
{
temp = a[m];
a[m] =a[n];
a[n] = temp;
m++;
n--;
}
for (m = 0; m < M; m++)
printf("%d ", a[m]);
return 0;
}
运行结果如图
注意n=M-1.因为下标是从0开始的。
我们来看这个程序,while循环第一次交换了a[0]和a[9],也就是第一位数和第十位数。第二次循环交换了a[1]和a[8],也就是第二位数和第九位数,以此类推,交换过第四位和第六位数后,此时,m=n,不再满足m<n,此时已完成数组的逆序存放。