プログラミング+α学習ブログ

勉強したことの備忘録です。

配列の全要素を逆順に並べ替えるプログラム

#include <stdio.h>

#define NUMBER  5   // 配列の要素数

/*--- 要素数noの配列vcの全要素を逆順に並べ替える ---*/
void rev_intary(int vc[], int no)
{
    int i;
    
    for (i = 0; i < no / 2; i++) {
        int temp = vc[i];
        vc[i] = vc[no - i - 1];
        vc[no - i - 1] = temp;
    }
}

int main(void)
{
    int i;
    int vx[NUMBER];
    
    for (i = 0; i < NUMBER; i++) {
        printf("vx[%d] :", i);
        scanf("%d", &vx[i]);
    }
    
    rev_intary(vx, NUMBER);
    
    puts("配列vxの要素を逆順に並べ替えました。");
    
    for (i = 0; i < NUMBER; i++)
        printf("vx[%d]=%d\n", i, vx[i]);
    
    return (0);
}

実行結果

vx[0] :17
vx[1] :38
vx[2] :52
vx[3] :41
vx[4] :63
配列vxの要素を逆順に並べ替えました。
vx[0]=63
vx[1]=41
vx[2]=52
vx[3]=38
vx[4]=17