cd c
を実行した後で( ~/c
に移動した後で)、以下の課題を
やってみよ。
以下のプログラムを実行してみよ。
/* kadai 3.1 */ #include <stdio.h> main() { int a; a = 3; if ( a > 0 ){ printf("a > 0 \n"); } }
課題 3.1 のプログラムで、a = 3;
を a = -1
に変更して
実行してみよ。
課題 3.2 のプログラムを改良し、a
が正又は0の場合は、a >= 0
を
負の場合は、a < 0
を表示するように改良し、実行してみよ。
また、a
に 10 を代入するように変更してみて実行してみよ。
それぞれ、きちんと表示されましたか?
課題 3.3 のプログラムを改良し、a
が、正か0か負のどれであるかを
表示するようにせよ。
前回、整数同志の割り算の結果は整数であるので、小数以下は切り捨てられることを 学んだが、これを応用して割り算の余りを求め、割り切れるかどうか を調べるプログラムを作ってみよう。
例えば、整数 を整数
で割った場合、商が
で、余りは
となるが、
これは、次のように書ける。
p = a / b;
とすればよい。
結局、余りがあるかどうかを調べるには、
p = a / b; q = a - p * b; |
を計算し、 が0か否かを調べれば良い。
以上のことを用いて、 余り q を求めて、0ならば、割り切れたことを、0でないならば、 余りを表示するプログラムを作成せよ。
但し、プログラムはなるべく一般的に作り、プログラムの最初の方で、整数 a,b に値を代入し、以降は変数 a, b を使うようにしなさい。(具体的な数値を 使って計算してはならない。)
整数 a, b に割り切れる場合、割り切れない場合の数を代入し、それぞれきちんと 表示されるか確かめてみなさい。
作成したプログラムをメイルで creport まで送ること。但し、題は、kadai03 と すること。 ( 2回目以降のメイルを出すときは、kadai03 retry のように、kadai03 の後ろに 空白を入れてメッセージを付け足すこと。 )
課題 3.5 のプログラムで、a =
と b=
の行を削除し、
以下の行を挿入せよ。
printf("Input a = "); scanf("%d",&a); printf("\nInput b = "); scanf("%d",&b); printf("\n");これを実行すると、まず、
Input a =
と表示されるので、適当な値を
キーボードから入力し ( 整数 ) 、リターンキーを押すと、
今度は、 Input b =
と表示するので、先の値とは違う値を入れてみよ。
どうです?
これは、何度でも値を変えて割り切れるかどうか調べることが出来るようになって
いますね。
実は、scanf("%d",&a);
は、整数をキーボードから読み取って、変数 a に
代入する命令なのです。 ( 今の所は、正式には講義してませんので、
そういうおまじないと思って構いません。 )