基礎プロI 100本ノック 基礎編
各プログラムにおいて、特に指定が無い限りは入力値が指定された形式であるかどうかをチェックする必要はない(例えば整数型の値を入力させるところでアルファベットを入力された場合など)。
No. 00 ごあいさつ
実行するとHello World!と表示するプログラムを作成せよ。
【実行例】 $ ./knock00 Hello World! $
初めて作るプログラムではHello Worldと表示してみる、というのがプログラミング界でのお約束。最後の改行を忘れずに。
No. 01 足し算
12345+23456を計算して結果を表示するプログラムを作成せよ。
【実行例】 $ ./knock01 12345 + 23456 = 35801 $
変数は使用してもしなくてもよい。
No. 02 余り
12345を7で割った余りを表示するプログラムを作成せよ。
【実行例】 $ ./knock02 12345 ÷ 7 の余りは 4 $
変数は使用してもしなくてもよい。
No. 03 入力
整数値を入力させ、その入力値を表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock03 input number: 123 your number is 123 $
No. 04 入力と計算
整数値を入力させ、その入力値を3倍した計算結果を表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock04 input number: 123 answer = 369 $
No. 05 四則演算
整数値を2つ入力させ、それらの値の和、差、積、商と余りを求めるプログラムを作成せよ。なお、差と商は1つ目の値から2つ目の値を引いた、あるいは割った結果とする。余りは無い場合も0と表示するのでよい。
【実行例、下線部は入力例】 $ ./knock05 input 1st number: 123 input 2nd number: 7 和: 130 差: 116 積: 861 商: 17, 余り: 4 $ ./knock05 input 1st number: 123 input 2nd number: 3 和: 126 差: 120 積: 369 商: 41, 余り: 0 $
なお、2つ目の入力値に0を入力すると実行時エラー(Floating point exception)でプログラムが終了する(0で割れないので)。
No. 06 0?
整数値を入力させ、値が0ならzeroと表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock06 input number: 0 zero $ ./knock06 input number: 1 $
No. 07 0 or not 0
整数値を入力させ、値が0ならzero、0でなければnot zeroと表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock07 input number: 0 zero $ ./knock07 input number: 1 not zero $
No. 08 正の整数?
整数値を入力させ、値が正であればpositiveと表示するプログラムを作成せよ。ただし0は正には含まない。
【実行例、下線部は入力例】 $ ./knock08 input number: 1 positive $ ./knock08 input number: -1 $ ./knock08 input number: 0 $
No. 09 正? 負? 0?
整数値を入力させ、値が正であればpositive、負であればnegative、0であればzeroと表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock09 input number: 1 positive $ ./knock09 input number: -1 negative $ ./knock09 input number: 0 zero $
No. 10 絶対値
整数値を入力させ、その値を絶対値にして表示するプログラムを作成せよ。(できれば変数の値を絶対値に変えるようにせよ)
【実行例、下線部は入力例】 $ ./knock10 input number: 1 absolute value is 1 $ ./knock10 input number: -2 absolute value is 2 $
絶対値を求めるには、負の値の場合は-1を掛ければよい。
No. 11 ごあいさつ10回
Hello World!を10回繰り返して表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock11 Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! $
繰り返しはwhile文とfor文のどちらでも構わない。
No. 12 ごあいさつ指定回
整数値を入力させ、その値の回数だけHello World!を繰り返して表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock12 input number: 7 Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! $
No. 13 カウントアップ
整数値を入力させ、0から入力値まで数を1ずつ増やして表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock13 input number: 5 0 1 2 3 4 5 $
入力値に0以下の値を入力した場合は考慮しなくてもよい。
No. 14 カウントダウン
整数値を入力させ、入力値から0まで数を1ずつ減らして表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock14 input number: 5 5 4 3 2 1 0 $
入力値に0以下の値を入力した場合は考慮しなくてもよい。
No. 15 2ずつカウントアップ
整数値を入力させ、0から入力値を超えない値まで2ずつ増やして表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock15 input number: 7 0 2 4 6 $
入力値に0以下の値を入力した場合は考慮しなくてもよい。
No. 16 0でおしまい
整数値を入力させ、入力値が0でなければ再度入力させ、0であれば終了するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock16 input number: 5 input number: 3 input number: -4 input number: 0 $
do-while文を使う、あるいは無限ループをbreak文で抜け出す。
No. 17 配列を初期化
要素数10の整数型の配列を宣言し、i番目の要素の初期値をiとし、順に値を表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock17 0 1 2 3 4 5 6 7 8 9 $
配列の初期化は初期化子を使ってもよいし、繰り返しで初期値を代入してもよい。
No. 18 配列を入力値で初期化
要素数10の整数型の配列を宣言し、整数値を入力させ、すべての配列の要素を入力値として、すべての要素の値を表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock18 input number: 6 6 6 6 6 6 6 6 6 6 6 $
No. 19 配列に入力値を格納
要素数5の整数型の配列を宣言し、すべての配列に対して順に入力された整数値を代入し、すべての要素の値を表示するプログラムを作成せよ。
【実行例、下線部は入力例】 $ ./knock19 input number: 4 input number: 6 input number: 7 input number: 3 input number: 1 4 6 7 3 1 $