18回:演習:マルバツゲームを作る1
- マルバツゲームを作りながら必要な手法を学んでいく.
- マルバツゲームは、入力->機械計算->出力->入力->機械計算->出力->入力->...の繰り返し.
- コンピュータの代表的な処理を含んでいて,かつ,難しくないのでプログラミングの演習にはもってこい
- ここでの目的はマルバルゲームを作りながらこれまでまなんだことを復習しつつ,実践的なプログラミングの方法を学んでいく
- 本日の目標
- マルバツゲームをつくるためにとりあえず対話的に入力する必要があるので,
入力ができるようになる.
-
- 2つの数字をいれてそれの和を出力するプログラムを作る
- 枠を作って,任意の場所に「0」や「○」をいれられることがポイント
- C言語における入力
scanf関数を使う.
scanf関数の基本
int a;
a=3;
みたいなのをaにコンピュータから入力をする場合,
scanf("%d",&a);
とかく.scanf("%d",&変数) するところがポイント.まず,"%d"を無視して,&の部分に着目する.
&の部分はどの変数に代入したいかでかわる.もし,bならば
int b=6;
となら、
scanf("%d",&b);
とする.
もし,testならば
int test=6;
となら、
scanf("%d",&test);
に置き換えればいい.
- 以下無視しても大丈夫
次に,"%d"の部分に着目する.これはprintfと同じ方式である.
例えば,"test1test"と入力してもらい,1を変数aに代入する場合は,
int a;
scanf("test%dtest",&a);
とすればいい.
printfと同じで2つの変数もできる.
hello13hello12と入力してaとbに入れる場合は
int a,b;
scanf("hello%dhello%d",&a,&b);
これはカンマ区切りの文章を読み取るときに応用できる.
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
とすれば134,425,62や41,32,12のようなカンマ区切りの文章を入力をうけつけられる.
- 例えば,以下のプログラムをつくってみる
int main(){ int a; scanf("%d\n",&a); printf("a is %d.\n",a) }
入力待ちがわからないので,
int main(){ int a; printf("aの値を入力してください\n"); scanf("%d\n",&a); printf("a is %d.\n",a) }
とするとよい.
- 演習
(1)aとbの値の入力をうけつけて,「aは..です,bは..です」
というプログラムを作りなさい.
(2)aとbを足した結果を出力したプログラムをつくりなさい.
具体的には,「aを入力してください」,入力,「bを入力してください」,入力,「a+b=xxです」と表示する.例えば,a=3, b=2; 「a+b=5です」と表示.
(3)入力した数だけ,連続した数字を出力するプログラムをだしなさい
例えば,5を入力したら,1,2,3,4,5と出力,10を入力したら,1,2,3,4,5,6,7,8,9,10と出力.
(4)5個の数字の入力を受け付け、その和を求める、プログラミングを書きなさい.非配列->配列.