苦しんで覚えるC言語

練習問題6



第1項:基本知識

1-1
キーボードから数値を入力するために使う関数は
1-2
上記の関数を使うとき、変数名の前に付ける記号は
解答例

目次に戻る

第2項:プログラム読取

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項:プログラム書取

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

目次に戻る

第4項:記述式

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

第5項:基本知識(解答例)

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関数は、入力ミスをチェックすることが出来ないため。
問題

目次に戻る