問題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)(1)~(3)を8回繰り返す。
(5)改行し、終了。

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