問題1:乱数

この問題を解くためには…
 → 発展編第1日目参照

probex1-1.(難易度:★)

1から10までの乱数を5回発生させ、表示するプログラムを作りなさい。

実行結果の例
1  9  10  7  3

probex1-2.(難易度:★★)

1から10までの乱数を5回発生させ、表示するとともに、その最大値と最小値も表示するプログラムを作りなさい。
実行結果の例

5  10  4  7  3
最大値:10
最小値:3

probex1-3.(難易度:★★)

長さ5の整数型の配列変数aに、すべての成分に0から100の乱数の値を代入して表示し、以下の条件を満たす数値を表示するプログラムを作りなさい。
(1) 20以上50以下の数
(2) 80より大きい数
(3) 0以上10未満の数

実行結果の例
a[0]=9  a[1]=7  a[2]=35  a[3]=91  a[4]=58
20以上50以下の数:1
80より大きい数:1
0以上10未満の数:2

probex1-4.(難易度:★)

以下のプログラムを改造し、1から10までの乱数同士の足し算を6回行うプログラムに改造しなさい。

main.c
#include <stdio.h>

void main(){
	int a = 1,b = 1;
	printf("%d + %d = %d¥n",a,b,a+b);
}
実行結果
1 + 1 = 2
改造後の実行結果
2 + 7 = 9
10 + 8 = 18
1 + 9 = 10
9 + 2 = 11
10 + 5 = 15
1 + 2 = 3

問題2:数学関数

この問題を解くためには…
 → 発展編第1日目参照

probex2-1(難易度:★★)

キーボードから入力した2つの平面ベクトルの間の距離を求めるプログラムを作りなさい。

期待される実行結果
1つ目のベクトルのX:1.0  ←キーボードから入力
1つ目のベクトルのY:3.0  ←キーボードから入力
1つ目のベクトルのX:3.0  ←キーボードから入力
1つ目のベクトルのY:5.0  ←キーボードから入力
(1.000000,3.000000)と(3.000000,5.000000)の距離は2.82842712474619です。

probex2-2(難易度:★)

-10から10までの乱数を4回発生させ、その数と、その絶対値を表示するプログラムを作りなさい。

期待される実行結果
1つ目の数値:1 絶対値1
2つ目の数値:-5 絶対値5
3つ目の数値:10 絶対値10
4つ目の数値:-8 絶対値8

問題3:論理演算

この問題を解くためには…
 → 発展編第1日目参照

probex3-1(難易度:★★)

以下の例にならい、キーボードから入力したアルファベットを、すべて小文字にして表示するプログラムを作りなさい。なお、アルファベットを小文字にするには、文字コードと0x20の論理和をとるとよい。

期待される実行結果
Input words:HelloWorld  ←キーボードから入力
helloworld

probex3-2(難易度:★★)

以下の例にならい、キーボードから入力したアルファベットを、すべて大文字にして表示するプログラムを作りなさい。なお、アルファベットを大文字にするには、文字コードと0xDFの論理積をとるとよい。

期待される実行結果
Input words:HelloWorld  ←キーボードから入力
HELLOWORLD

probex3-3(難易度:★★)

キーボードから、0から255までの整数を入力させ、その数値を二進数に変換するプログラムを作りなさい。なお、手順は、以下の通り行うこと。
(1)入力された数値を、変数nに代入する。
(2)nと0x80の論理席を求める。
(2)(2)の計算の結果が0ならば、0を、それ以外なら、1を表示する。
(3)nの値を、左シフトする。
(4)nが0でなければ、(2)に戻る。
(5)nが0ならば、改行し、終了。

期待される実行結果
Input Number(0-255):35  ←キーボードから入力
00100011