| 更新日 |
|
| 5/8 Fri 22:25 |
第4回プログラミング課題は Google Classroom に掲載しています。 |
| 4/24 Fri 02:32 |
- [pe3-1.c] (必須)
2つのサイコロ振りをシミュレートして,出た目の和,および,それが偶数か奇数かを表示するプログラムを作りなさい。
プログラムは,出目の和が例えば
6 ならば
6: Cho (Even)
7 ならば
7: Han (Odd)
と表示するように作成する。
プログラムではサイコロ振りを行う関数 roll_dice を定義すること。
roll_dice は 2 つのサイコロ振りを乱数でシミュレートし,合計を返すように定義する。
関数 main では,関数 roll_dice を呼び出し,戻り値が 2 で割り切れるかどうかによって,
サイコロの出目の和が偶数か奇数かを判定させること。
- (必須)
課題 1 のプログラムを次の三つのファイルに分割し,コンパイルして実行しなさい。
- 関数 main の定義: pe3-2.c
- 関数 roll_dice の定義: pe3-2-sub.c
- 関数 roll_dice のプロトタイプ宣言(ヘッダファイル): pe3-2.h
- [pea3-1.c]
2つのサイコロの出目の和をユーザーが当てるゲームを作りなさい。
プログラムは最初にサイコロを振る。
ユーザーは,サイコロの出目の和と等しくなるまで,キーボードから数の入力を繰り返す。
プログラムは,数が入力される度に,それがサイコロの出目より大きいか,小さいかを表示する。
プログラムの動作は,例えば次のようになる。Input number に続く数がユーザーの入力である。
Input number: 7
Larger
Input number: 5
Smaller
Input number: 6
Hit! Dice 6, Count 3
この問題では,前の問題で作成したファイル pe3-2-sub.c と pe3-2.h をそのまま使い,関数 main の入ったソースファイルのみを作成すること。
|
| 4/17 Fri 02:10 |
- [pe2-1.c](必須)変数 n に正の整数を読み込んで 1 + 2 + ... + n を求めて表示するプログラムを作りなさい。ただし,計算は関数 calc_sum を定義して使うこと。
calc_sum は,引数として int 型の値を一つ受け取り,計算結果を int 型で返す関数として定義すること。
計算は関数 calc_sum が行い,関数 main の本体では計算を行わないようにすること。
すなわち,
関数 main は,キーボードから変数 n に値を読み込み,関数 calc_sum の呼び出しによって計算結果を得て,その結果を表示するように作ること。
- [pe2-2.c] (必須)
リスト 1.2 の関数 printline を,一行に表示する * の個数をパラメータを通じて受け取る関数に変更しなさい。
この printline を,関数 main から呼び出すことによって,キーボードから入力された個数の * を描くプログラムを作りなさい。
さらに,関数 main の本体に適当な反復の構造を導入することによって,
このプログラムを,キーボードから入力された整数値を一辺とする正方形を * を使って描くプログラムにしなさい。
例えばキーボードから 3 を入力したときに,このプログラムは画面に次の出力をする。
***
***
***
- [pea2-1.c]
三つの実数を受け取って,それらを三辺の長さとする三角形が成立する
かどうかを判定する
関数 istriangle を作りなさい。
istriangle は,三角形が成立するならば整数 1(真)を,成立しないならば 0(偽)を返すこととする。
この関数を用いて,
キーボードから読み込んだ 3 つの実数を三辺とする三角形が成立するかどうかに応じて,
triangle あるいは non-triangle と表示するプログラムを作りなさい。
ヒント:
三辺の長さを a, b, c とすると,
a + b > c, b + c > a, c + a > b
の条件をすべて満たすならば,三辺は三角形を構成する
|
| 4/10 Fri 03:23 |
- [pe1-1.c](必須)
変数 a と b に標準入力(キーボード)から値を読み込み,
それらの値を一度出力した後で,変数 ab に a と b の積を代入し,「? x ? = ?」(数の表示は小数点以下第2位まで)の形で結果を出力するプログラムの空白部分 (a) から (e) を埋めなさい。
(変数,四則演算,scanf と printf による入出力)
/* pe1-1.c: multiplication program */
#include <stdio.h>
int main()
{
double a, b, ab;
scanf("%lf%lf", [(a) ]);
printf("a: %f\n", [(b) ]);
printf("b: %f\n", [(c) ]);
[(d) ];
[(e) ];
return 0;
}
- [pe1-2.c](必須)変数 n に正の整数を読み込んで 1 + 2 + ... + n を求めるプログラムの空白部分 (a) から (e) を埋めなさい。
なお,このプログラムは n までの和を求める途中の過程も表示する。
(反復構造,合計を求めるアルゴリズム)
/* pe1-2.c: summation program */
#include <stdio.h>
int main()
{
[(a) ] i, n, sum;
printf("Enter integer.\n");
scanf([(b) ]);
sum = [(c) ];
for (i = 1; [(d) ]) {
sum += [(e) ]
printf("%d\t%d\n", i, sum);
}
return 0;
}
- [pea1-1.c]
変数 n に正の整数を読み込んで 1 + 1/2 + ... + 1/n を求めるプログラムを作りなさい。
(データ型)
|