演習の解答(7.配列)

演習1 宣言文で整数型の配列dataを次の様に初期値を設定し、この8つの値の平均を表示するプログラムを作成せよ。平均の値は小数点以下第1位まで表示するものとする。

 int data[8]={59,45,33,49,25,89,29,77};

解答例を以下に示す。

演習2 宣言文で整数型の配列dataを次の様に初期値を設定し、この8つの値の最大値、最小値、平均を表示するプログラムを作成せよ。平均の値は小数点以下第1位まで表示するものとする。なお、この数値は100点満点のテストの数値と仮定する。

 int data[8]={59,45,33,49,25,89,29,77};

解答例を以下に2例示す。まずは、100点満点の点数なので最大の初期値を0点、最小の初期値を100点としてこれよりも小さい値を見つけて更新するという方法。

解答例2 最大、最小の初期値をdata[0]として、for文の繰り返しをi=0ではなくi=1から始める方法。この場合、平均を計算する際に用いる合計もdata[1]から足されてしまうので、先にsum=data[0]としておく(15行目)。

演習3 宣言文で整数型の配列dataを次の様に初期値を設定し、このデータをdata[7], data[6]..., data[0]の様に逆順に表示するプログラムを作成しなさい。

 int data[8]={59,45,33,49,25,89,29,77};

解答例

 このプログラムでは、for文のiの変化はi=0から7までとして表示のところで、data[7-i]とすることで、data[7]から表示する様にしている。このほかにfor文のiの変化を変える方法もある。12, 13行目を次のようにすればよい。
for(i=7;i>0;i--)
     printf("%d ",data[i]);

 ここで、i--はiを1ずつ減らす演算であり、i=i-1と書いてもよい。

演習4 宣言文で整数型の配列dataを次の様に初期値を設定し、表示例の様に偶数と奇数に分けて表示するプログラムを作成せよ。

 int data[8]={59,45,32,49,24,89,29,78};

 表示例

 奇数:59 45 49 89 29

 偶数:32 24 78

解答例を以下に示す。2行にわたって表示するので、先に奇数を表示させてから偶数を表示させるようになっている。

コンプロI C言語の部屋です。

このサイトは東京電機大学東京千住キャンパスのEJ, EK, EF科の1年次生向けコンピュータプログラミングIの授業内容やお知らせをするページです。プログラムの初歩の初歩を学ぶ人のためのページです。この資料を授業等で共有したいという方もどうぞお使いください。一緒に学習向けコンテンツを作ってくださる方、学習者向けのサンプルプログラムの提案など歓迎いたします。

0コメント

  • 1000 / 1000