表紙 <戻 進>

   練習問題6   

  1. 第1項:基本知識
  2. 第2項:プログラム読取
  3. 第3項:プログラム書取
  4. 第4項:記述式
  5. 第5項:基本知識(解答例)
  6. 第6項:プログラム読取(解答例)
  7. 第7項:プログラム書取(解答例)
  8. 第8項:記述式(解答例)


[1]基本知識


[  1-1  ]
キーボードから数値を入力するために使う関数は

[  1-2  ]
上記の関数を使うとき、変数名の前に付ける記号は
解答例

目次に戻る


[2]プログラム読取

i-mobile


[  2-1  ]
次のプログラムは、何を計算するためのプログラムなのか、
処理内容や変数名から判断して答えよ。

#include <stdio.h>

int main(void)
{
	int side,high,square;

	scanf("%d,%d",&side,&high);
	square = side * high / 2;
	printf("%d\n",square);
			
	return 0;
}
解答例

目次に戻る


[3]プログラム書取

i-mobile


[  3-1  ]
定価を入力すると、1割引、3割引、5割引、8割引の値段を、
一覧表示するプログラムを作成せよ。
なお、結果の金額は整数値での表示が望ましいが、実数でもかまわない。
解答例

目次に戻る


[4]記述式


[  4-1  ]
実は、scanf関数は、信頼性が必要なプログラムではほとんど使われない。
それは何故か、簡潔に説明せよ。
解答例

目次に戻る


[5]基本知識(解答例)

i-mobile


[  1-1  ]
scanf関数
※なお、他にも多数ある。

[  1-2  ]
&
問題

目次に戻る


[6]プログラム読取(解答例)


[  2-1  ]
三角形の面積を計算するプログラムであることが、
変数名(辺、高さ、面積)や処理内容(辺×高さ÷2)からわかる。
※理由を述べられなくても正解とします。
※そろそろ、ただ機械的にプログラムを読むだけではなくて、
 プログラムの意味も含めて読み取れるようになって下さい。
問題

目次に戻る


[7]プログラム書取(解答例)


[  3-1  ]

#include <stdio.h>

int main(void)
{
	int price;
	
	printf("定価を入力して下さい : ");
	scanf("%d",&price);
	
	printf("1割引 = %d円\n",(int)(price * 0.9));
	printf("3割引 = %d円\n",(int)(price * 0.7));
	printf("5割引 = %d円\n",(int)(price * 0.5));
	printf("8割引 = %d円\n",(int)(price * 0.2));

	return 0;
}

定価を入力して下さい : 198
1割引 = 178円
3割引 = 138円
5割引 = 99円
8割引 = 39円
※ここでは1割引を0.9倍としていますが、1割引であることを明示したければ、
 (int)(price * (1 - 0.1)) とすればより1割引らしくなります。
※割引ごとに変数を作って代入しても良い。
※結果が実数であっても良い。
※計算方法によって、多少結果が異なる可能性がある。
※scanf関数で変数に付ける & を忘れやすいので注意。
問題

目次に戻る


[8]記述式(解答例)



[  4-1  ]
scanf関数は、入力ミスをチェックすることが出来ないため。
問題

目次に戻る



<−前に戻る  先頭に戻る  次へ進む−>