實現陣列的逆序存放
阿新 • • 發佈:2021-02-04
今天分享給大家一個實現逆序輸出陣列的程式。咱們先上程式碼
#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,此時已完成陣列的逆序存放。