中間テスト解答例


(1)0℃の時0.0V,5.0Vを出力する温度センサーがある.0℃~100℃の間では電圧と温度の関係が直線的に変化するものとする

測定された電圧値(例えば,2.3等の実数値)をキーボードから入力すると,温度を計算して画面に表示するプログラムを作成せよ.

また,範囲外の電圧値が入力されたら,「範囲外です」と画面に表示すること.


#include <stdio.h>
 
void main()
{
   	float a;
	
	printf("電圧: ");
	scanf("%f", &a);

	if(a<0.0 || a>5.0){
		printf("範囲外です¥n ");
	}else{
		printf("温度:%f ¥n",a*20.0);
	}
}
 

(2)キーボードから自然数(2以上とする)を入力すると,素数か否かを判定し結果を画面に表示するアルゴリズムを,

フローチャート等で示し,その流れのとおりプログラムを作成せよ


#include <stdio.h>
 
void main()
{
	int i,a,s;

	printf("値を入力してください¥n");
	scanf("%d", &a);
	
	s=0;
	for( i=2; i <a; i++){
		if(a%i == 0){
			s++;
		}
	}
	if(s == 0){
		printf("素数です¥n");
	}else{
		printf("素数ではありません¥n");
	}
}

(3)キーボードから入力されたn個の実数を配列に格納し,その平均値を求め,平均値以下の数値を画面に表示するプログラムを作成せよ


#include <stdio.h>
 
void main()
{
 
	int i,n;
	float a[1000],ave,sum;
	
	sum = 0.0;
	

	printf("データ数は1000以内で入力してください¥n");
	printf("n:");
	scanf("%d", &n);
	
	for( i=0; i <n; i++){
		printf("a[%d]:",i);
		scanf("%f", &a[i]);
		sum+=a[i];
	}
		ave = sum/n;
	
	for( i=0; i <n; i++){
		if(a[i] <= ave){
			printf("%f¥n",a[i]);
		}
	}

}