今日の人気記事

  1. printf関数の変換指定子
  2. 2進数を10進数に変換する
  3. 条件演算子(3項演算子)「? :」
  4. int main(void) - プログラムの基本
  5. while文 - 繰り返し処理

入力した数値が回文数かどうかを判定する

当ページのリンクには広告が含まれています。

スポンサーリンク

入力した数値が回文数かどうかを判定するサンプルプログラムを紹介します。

回文数とは

回文数とは、回文の数値版のことです。

回文は、上から読んでも下から読んでも同じ文字列になる文字列のことですね。

竹やぶ焼けた
(たけやぶやけた)

などが有名ですね。

回文数は

3
22
101
1661
12521

などの数値のことで、ひっくり返しても同じ数値になる数値のことをいいます。

サンプルプログラム

それでは実際に回文数かどうかを判定してみましょう。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 入力した数値が回文数かどうかを判定 -
 */
#include <stdio.h>

int main()
{

  /* 数値(整数) */
  int num;

  /* 変数 */
  int reverse = 0;
  int remaind;
  int tmp;

  /* 数値(整数)の入力 */
  printf("整数を入力してください = ");
  scanf("%d", &num);

  tmp = num;
  while(tmp!=0)
  {
    /* 1桁ずつ数値を切り出す */
    remaind = tmp % 10;

    /* 数値を反転 */
    reverse = reverse * 10 + remaind;

    /* 次の桁へシフト */
    tmp /= 10;
  }

  /* 反転した数値と元の数値を比較 */
  if( reverse == num )
    printf("「%d」は回文数です。\n", num);
  else
    printf("「%d」は回文数ではありません。\n", num);

  return 0;
}

サンプルプログラムで使っている構文

実行結果

いくつかの実行結果です。

整数を入力してください = 3
「3」は回文数です。
整数を入力してください = 101
「101」は回文数です。
整数を入力してください = 123 
「123」は回文数ではありません。
整数を入力してください = 12521
「12521」は回文数です。

このように入力した数値が回文数かどうかを判定します。

サンプルプログラム の人気記事

  1. サンプルプログラム集
  2. 2進数を10進数に変換する
  3. 配列に格納した数値を昇順ソートする
  4. 入力した行列の積(掛け算)を計算する
  5. 入力したアルファベットを小文字から大文字に変換する
  6. 入力した整数が偶数か奇数かを判別する
  7. 10進数を2進数に変換する
  8. 入力した数値の桁数を表示する
  9. 三角形の面積を計算する
  10. 配列に格納した数値を降順ソートする

関連記事(一部広告含む)