俺様がお前らのために問題集を作ってやったぞ。
100問ねーぞとかそんなツッコミは受け付けません。
ぜひ挑戦してみてくださいな。
変数名が value, 変数の型が double という変数を定義する 1 行の文を書いてください.
配列名が name, 配列の要素数が 10, 配列の型が int という配列を定義する 1 行の文を書いてください.
double 型で要素数 3 の配列 data[ 3] を定義し, 同時に, 3 つの要素に [5. 2, 2. 0, 3. 1] を代入する 1 行の文を書いてください.
- 2つの int 型の変数 a, b があります. 変数 a に, 変数 b を 2 で 割った余りを代入する 1 行の文を書いてください.
- int 型で要素数 5 の配列 c[ 5] があります.
- int 型で要素数 5 の配列 d[ 5] があります.
int型の変数eにある値が入っています. eの値に2を加えてeを更新する命令文を書いてください(1行)
double型の変数fにある値が入っています。fの値を半分にしてfを更新する命令文を書いてください(1行)
int型の変数helloを宣言し初期値を3に設定する命令文を書きなさい
画面上に”hello”の文字を表示する命令文を書きなさい
画面上にhelloの値を表示する命令文を書きなさい
int型の変数xがあります。キーボードから入力される値(整数)を、変数xに代入する分を書きなさい
int型の変数gがある。gが5より大きい場合は”BIG”と表示、そうでない場合は”SMALL”と表示する命令文を書きなさい
int型の変数hがある。switch-case文をつかって
* hが1の時: “主人公の攻撃!”と表示 * hが2の時: “敵の攻撃”と表示 * それ以外の場合: “それはできない!”と表示
for文を使って “hello⏎”と10回繰り返し表示する命令文を書きなさい。
for文を使ってカウンタ変数 i が50~65までとiを表示する命令文を書きなさい。
int型の変数kとwhile文を使って、kの値が1000を超えるまでkを2倍ずつ増やしていく文を書きなさい。
#include < iostream >
using namespace std;
int main (void){
//ここに命令文を追加
return 0;
}
入出力はstd::cin, std::coutをつかう
改行はstd::endlをつかう
(1) 奇数の時 ⇒ 「奇数」と表示
(2) (1)以外で、さらに3の倍数の時 ⇒ 「偶数活3の倍数」と表示 \\ (3) (1)(2)以外のその他の時 ⇒ 「その他」と表示 \\
(1) forループを使って11~19までを画面出力させなさい。
条件:使って良い数値は11と20のみ
(2) forループを使って、20から10までを以下の様に画面出力させなさい。
20 18 16 14 12 10
(3) forループを使って、1から64までを以下のように画面出力しなさい
1
2
4
8
16
32
64
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 8 * 9 = 72 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
1. 入力値を input_ tmp に代入し、 num に足す.
2. num の値を表示
3. 合計が100以上になるまで, 1. ~ 2. を繰り返す.
1. 画面に「身長をcm単位で入力」と表示
2. 入力された値を実数変数に代入
3. 画面に「体重をkg単位で入力」と表示
4. 入力された値を実数変数に代入
5. 入力値(2.と3.のやつ)をもとにBMIを計算し、実数変数に代入
- BMI = 体重(kg)÷身長^2(m)
6. 「身長:〇〇〇cm 体重:〇〇〇kg BMI:〇〇」を表示
7. 以下の表示を行う
- BMIが30より大きい時 ⇒ 「肥満に注意」
- BMIが18より大きい時 ⇒ 「痩せすぎに注意」
- 要素数10の整数型の配列 intArray[10]に、正の整数を入力(for文とかwhile文とか使う) - 配列を走査し、全ての要素の平均値を実数型変数に代入し、そのご平均値の値を表示 - 表示は小数点以下3桁まで表示し、カッコよく表示されるよう工夫すること
int i, j; //for ループ 用 の 変数 int array[ 2][ 5] = { {1, 2, 3, 4, 5}, { 6, 7, 8, 9, 0} }; for( i = 0; i < 2; i ++){ for( j = 0; j < 5; j ++){ cout << array[ i][ j]; } cout << endl;// 行 の 数 だけ 改行 する }
- このソースコードをコンパイルして実行すると以下のような実行結果になった。(お決まりの部分は、省略)
12345
67889
- このプログラムのfor文以降を変更し、以下のような出力になるように書き換えなさい。
16
27
38
49
50
- 注意:配列の定義や値を変更するのはダメです。
- ツルの数をn_tsuru、亀の数をn_kameとします。 - 鶴と亀の頭の総数を n_head、 鶴と亀の足の総数をn_footとしたときに、鶴と亀の数を計算したい - キーボードから
- を入力したとき、ツルの数と亀の数を表示しなさい。 - 計算上買いが存在しないときは「解なし」と表示しなさい。
- 順に入力された5つの実数を配列に格納します。 - 格納された配列が等比数列になっているかどうかを判定してください。 - 判定結果によって
- を表示
- 3桁の自然数÷3桁の自然数の解の組み合わせを全探索します。 - 解の組み合わせの中で、円周率(3.14159265359)に一番近いものを表示しなさい。 - いろいろな数学定数がC++標準ライブラリで宣言されています。πを表すものを探してみよう。 - https://zenn.dev/tetsurom/books/cpp11-cpp20-for-game-developers/viewer/002-mat-constant - C++20だからちょい新しすぎる話題かもだけど。。。
- 3つの自然数$a,b,c$が $a^2+b^2 = c^2$を満たすとき、その自然数の組をピタゴラス数と呼ぶ。 - 100未満(2桁)の自然数のピタゴラス数を全て列挙しなさい。 - 同じ組み合わせになるとき注意だよね!$(3,4,5) (5,4,3) (4,3,5)$ は同じ!
- ユークリッドの互除法
- 以下のような配列がある。
int iArray[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} };
- この配列を以下の様に2パターンの表示方法で出力しなさい
# パターン1
123
456
789
# パターン2
693
582
471
- 素数関連でもう一問
- 完全数(perfect number)とは、3や6の様にその数の約数を全て並べたときに、
- 15000以下の完全数をすべて表示しなさい。
サイコロがあります。
サイコロははじめ1の目(1だね)を上面に向けて置いてあります(初期状態)
プログラムへの入力として、2次元平面上の方向(↑, →, ↓, ←)=('U','R','D','L')と回転数Nが入力されます。
入力に'E'が入力されるまで繰り返しサイコロを指定された方向に転がします。
指定された方向に90度転がす操作を1回転(1コロコロ?)とします。
'E1'が入力されたときの状態の上面の数字を表示するプログラムを作りなさい。
入力例
- 入力:R1 の時、右に1回転がすと上面は3 - 入力:L2 の時、左に2回転がすと上面は6 - 入力:U1 の時、上に1回転がすと、上面は5
2次元平面上に円が複数個あります。(最大10個)
円は、中心座標と半径のパラメータを持ちます。
これらの円の交点がいくつ出現するか数え、交点の数を出力しなさい。
ただし、円が完全一致する場合は交点0、接する場合は交点1として数える
ヒント:中心と半径が入力されるたびに過去に入力された円と判定を行う
- スロットマシンのシミュレーションを作ります。
2枚役 : 〇〇〇/回転数
3枚役(リプレイ): 〇〇〇/回転数
4枚役 : 〇〇〇/回転数
8枚役 : 〇〇〇/回転数
15枚役 : 〇〇〇/回転数
300枚役(大当り): 〇〇〇/回転数
### 出力例
手持ち 102枚 回転数 001回 出現役2枚役で+2枚
はずれ : 0000/0001
2枚役 : 0001/0001
3枚役(リプレイ): 0000/0001
4枚役 : 0000/0001
8枚役 : 0000/0001
15枚役 : 0000/0001
手持ち 99枚 回転数 002回 出現役はずれ-3枚
はずれ : 0001/0002
2枚役 : 0001/0002
3枚役(リプレイ): 0000/0002
4枚役 : 0000/0002
8枚役 : 0000/0002
15枚役 : 0000/0002
手持ち 114枚 回転数 003回 出現役15枚役で+15枚
はずれ : 0001/0003
2枚役 : 0001/0003
3枚役(リプレイ): 0000/0003
4枚役 : 0000/0003
8枚役 : 0000/0003
15枚役 : 0001/0003
手持ち 122枚 回転数 004回 出現役8枚役で+8枚
はずれ : 0001/0004
2枚役 : 0001/0004
3枚役(リプレイ): 0000/0004
4枚役 : 0000/0004
8枚役 : 0001/0004
15枚役 : 0001/0004
- .exeのあるフォルダ(DebugフォルダやReleaseフォルダなど)でShiftキーを押しながら右クリックすると、 - コマンドプロンプトをここで開く、又は、Powershell Windowをここで開く、メニューが出るのでどちらかを選択 - .exeファイルの名前を自分で入力するとプログラムが実行できます。 - これから自分でプログラムのフォルダを開いたり、実行したりする機会が増えますので、自分で作ったプログラムがどこにあるのか把握できるようにしてください。 - 実行するときに xxxx.exe > result.txt とすると、表示結果をresult.txtにテキストファイルとして保存してくれます。 - この操作を実行結果のテキストファイルへのリダイレクトと呼びます。
- 高校野球のピッチャーのシミュレーションをします。
1回表 失点:〇〇 走者:〇人 投球:〇〇〇球目
投球結果:Strike!
B:〇 <=今、投球した後のカウントを表示
S:〇
O:〇
1回表 失点:〇〇 走者:〇人 投球:〇〇〇球目
投球結果: Ball
B:〇
S:〇
O:〇
1回表 失点:〇〇 走者:〇人 投球:〇〇〇球目
投球結果: Ball
B:〇
S:〇
O:〇
...(省略)・・・
-------------- change Inning --------------
2回表 失点:〇〇 走者:〇人 投球:〇〇〇球目
投球結果: Ball
B:〇
S:〇
O:〇
...(省略)・・・
- のように1試合分表示してください。 - リダイレクトでテキストファイルに出力すると見やすいです。