今日の人気記事

  1. switch文 - 数値による場合分け
  2. 条件演算子(3項演算子)「? :」

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

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

スポンサーリンク

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

回文数とは

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

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

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

などが有名ですね。

回文数は

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. 配列の数値の平均値を計算する
  3. 配列に格納した数値を昇順ソートする
  4. サンプルプログラム集
  5. 入力した自然数が素数かどうかを判定する
  6. 乱数 - 1〜10のランダムな数値を出力する
  7. 入力した整数が偶数か奇数かを判別する
  8. 入力した文字列の文字数を表示する(出力)
  9. 10進数を2進数に変換する
  10. 入力した自然数を逆順に並べ替える

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