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

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

読み込んだ非負の整数値を逆順に表示するプログラム

#include <stdio.h>

int main(void)
{
    int num;
    
    do {
        printf("非負の整数を入力してください:");
        scanf("%d", &num);
        if (num < 0)
            puts("負の数を入力しないでください。");
    } while (num < 0);
    
    printf("%dを逆から読むと", num);
    do {
        printf("%d", num % 10); // 最下位の桁の値を表示
        num = num / 10;         // 右に1桁ずらす
    } while (num > 0);
    puts("です。");
    
    return (0);
}

実行結果

非負の整数を入力してください:1963
1963を逆から読むと3691です。

整数値を逆順に表示するには

まず、最下位の桁の値を

num % 10

によって求め、その結果を表示する。
続いて、

num = num / 10;

では、numを10で割った値、すなわち右に1桁ずらした値がnumに格納される。
整数 / 整数の演算では、小数点以下が切り捨てられる。