C言語で指定した数値の掛け算九九表を出力する方法
プログラムの概要
このプログラムは、ユーザーが入力した任意の数値に対して、その掛け算九九表(乗算表)を出力するものです。C言語の基礎的な入出力処理と for ループの使い方を学ぶのに最適なサンプルです。
アルゴリズム
1. 九九表を作成したい数値を、ユーザーから入力として受け取ります。
2. ループ変数 i の初期値を 1 に設定し、入力された数値との積を計算します。
3. i の値を 1 ずつ増加させながら掛け算を繰り返し、i が 12 以下である間、計算結果を出力し続けます。
サンプルコード
/* 指定された数値の掛け算九九表を出力するプログラム */
#include <stdio.h>
int main() {
int number, i;
clrscr();
printf("Please enter any number to find multiplication table:");
scanf("%d", &number);
printf("Multiplication table for the given number %d: ", number);
printf("\n");
for(i=1;i<=12;i++){
printf("%d x %d = %d", number, i, number * i);
printf("\n");
}
getch();
return 0;
}コードのポイント
・scanf 関数でユーザーから整数を受け取り、変数 number に格納します。
・for ループにより、i を 1 から 12 まで順に変化させながら「数値 × i = 積」の形式で出力します。
・ループ回数を変更すれば、12 段だけでなく任意の範囲の九九表にも簡単に対応できます。
実行結果

-
数値を英語の単語に変換するCプログラムの書き方
数値で構成された文字列が与えられたとき、その数値を英語の単語(スペル表記)へ変換するのが本記事の課題です。例えば、入力が「361」であれば、出力は「Three hundred sixty one」となるようにします。この問題を解くためには、一の位・十の位・百の位・千の位など、それぞれの数字がどの桁に位置しているのかを意識することが重要です。なお、今回紹介するコードは最大4桁、つまり0から9999までの数値に対応しています。したがって、入力は0〜9999の範囲である必要があります。例として「1,111」を考えてみましょう。各桁は以下のように対応します。千の位:1(one thousand)百の位
-
C言語で指定したレベルのリーフノード(葉ノード)を出力する方法
この記事では、二分木(バイナリツリー)において、ユーザーが指定したレベル k にあるリーフノード(葉ノード)を出力する方法を解説します。リーフノードとは、左ポインタと右ポインタがどちらも NULL になっている終端ノードのことです。つまり、そのノードには子ノードが存在せず、親ノードとしての役割を持たないノードを指します。例入力 : 11 22 33 66 44 88 77 出力 : 88 77ここで k は、出力対象となる木のレベルを表しています。基本的なアプローチは、すべてのノードを走査しながら、そのノードが子へのポインタを持っているかどうかを確認することです。左・右のいずれか一方、あるいは