今日の人気記事

  1. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境

  2. int main(void) - プログラムの基本

  3. while文 - 繰り返し処理

  4. 入力した整数が正か負かを判定する

  5. 条件演算子(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. 1から1000までの素数を表示する

  4. 10進数を2進数に変換する

  5. 1から1000までの完全数を表示する

  6. 入力した整数が正か負かを判定する

  7. 配列に格納した数値を昇順ソートする

  8. 入力したアルファベットを大文字から小文字に変換する

  9. 配列に格納した数値を降順ソートする

  10. 入力した複数の文字列をソート

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