第6回 練習課題

練習課題1

1.以下を実行し、配列変数を理解せよ。
-------------------
#include < stdio.h >

void main()
{
	int i;
	int data[10]={1,2,3,4,5,6,7,8,9,10};

	for ( i=0 ; i<10 ; i++ )
	{
		printf("data[%d]=%d\n",i,data[i]);
	}

	printf("\n");

	data[3] = 100;
	data[8] = 1000;

	for ( i=0 ; i<10 ; i++ )
	{
		printf("data[%d]=%d\n",i,data[i]);
	}

}
-------------------
2.printfで表示する範囲を 0≦i<10 から、0≦i<12 に変更して表示させてみよ。

練習課題2

以下のプログラムを実行せよ
-------------------
#include < stdio.h >

void main()
{
	int i;
	double data[5];

	data[0] = 5.0;
	data[1] = 5.0;
	data[2] = 11.2;
	data[3] = 2;
	data[4] = 2.9;
	data[5] = 10.00;

	for ( i=1 ; i<=5 ; i++ )
	{
		printf("data[%d]=%lf \n",i,data[i]);
	}
}
1.間違いを修正せよ。

練習課題3

1.以下のプログラムを実行せよ。
-------------------
#include < stdio.h >

void main()
{
	int i,a;
	int data[5];
	int sum;
	double average;

	printf("5つの整数を入力してください\n");

	for ( i=0 ; i<5 ; i++ )
	{
		printf("%dつ目を入力してください:",i+1);
		scanf("%d",&data[i]);
	}

	printf("入力された数:%d,%d,%d,%d,%d \n", data[0], data[1], data[2], data[3], data[4]);

	sum = 0;
	for ( i=0 ; i<5 ; i++ )
	{
		sum = sum + data[i];
	}
	average = sum / 5.0;
	printf("平均値=%f\n",average);
}
-------------------
2.平均値に加えて、最大値、最小値を表示するようにせよ。

練習課題4

以下のプログラムは未完成である。次の仕様を満たすようにプログラムを完成させよ。
-------------------
#include < stdio.h >

#define NUM	10

void main()
{
	int i;
	int score[NUM];
	float new_score[NUM];
	int max_score, min_score;

	for ( i=0 ; i < NUM ; i++ )
	{
		printf("%d人目の点数:",i+1);
		scanf("%d",&score[i]);
	}

	≪ここを書く≫

}

-------------------
------表示例-------

1人目の点数:25
2人目の点数:39
3人目の点数:42
4人目の点数:76
5人目の点数:35
6人目の点数:48
7人目の点数:81
8人目の点数:41
9人目の点数:74
10人目の点数:55

最高点:81 最低点:25

1人目:25 → 50.000000
2人目:39 → 62.500000
3人目:42 → 65.178574
4人目:76 → 95.535713
5人目:35 → 58.928570
6人目:48 → 70.535713
7人目:81 → 100.000000
8人目:41 → 64.285713
9人目:74 → 93.750000
10人目:55 → 76.785713
続行するには何かキーを押してください . . .

-------------------

練習問題5

以下の式で意義される数列a(n)の1項目から10項目を配列に格納し,表示せよ

練習問題6

以下の式で意義される数列a(n)の1項目から10項目を配列に格納し,表示せよ

練習問題7

以下の式で意義される数列a(n)の1項目から10項目を配列に格納し,表示せよ

練習問題8

フィボナッチ数列の最初の10項を配列に格納し,表示するプログラムを作成せよ フィボナッチ数は で表される数である

練習問題9

1.5列の数列を用意し数字を入力させよ.数字を昇順に並び替えるプログラムを作成せよ
2.格納数を可変にせよ
------表示例-------

格納数を入力してください:3
1つ目の数を入力してください:10
2つ目の数を入力してください:25
3つ目の数を入力してください:3
入力された数は 3,10,25 です

-------------------
ヒント:ソートについて

提出課題(基本課題)

以下のようなプログラムを作成せよ。
------表示例-------

1人目の点数:25
2人目の点数:39
3人目の点数:42
4人目の点数:76
5人目の点数:35
6人目の点数:48
7人目の点数:81
8人目の点数:41
9人目の点数:74
10人目の点数:55

合格者:7人目 4人目 9人目

-------------------
ヒント(簡単なやり方)
以下のように最高点を3回求めれば良い。
1.最高点を求める
2.最高点に該当するデータに0点を代入する
3.1と2を3回くりかえす。

ヒント(難しいやり方)
点数をソート(高い順に並び変える)し、上位3名を表示すれば良い。

提出課題(発展課題)

以下のようなプログラムを作成せよ。
------表示例-------

1人目の数学の点数:10
2人目の数学の点数:80
3人目の数学の点数:30
4人目の数学の点数:50
5人目の数学の点数:100

1人目の英語の点数:90
2人目の英語の点数:100
3人目の英語の点数:70
4人目の英語の点数:60
5人目の英語の点数:50

合格(A):2人目 5人目
合格(B):1人目 4人目
不合格:3人目

-------------------