メインコンテンツへスキップ
ぴよパス

第三種電気主任技術者試験 電動機応用・照明・電熱・制御・情報 練習問題 第20問: 次の C 言語のプログラムは、A 工場で 30 分ごとに測った需要電力 [kW] 6 個を配列 p に入れ、その平均と最大値を求めて表示するものである。このプロ

この科目 –/20 解いた
中級

次の C 言語のプログラムは、A 工場で 30 分ごとに測った需要電力 [kW] 6 個を配列 p に入れ、その平均と最大値を求めて表示するものである。このプログラムを実行して表示される 2 つの数を、表示される順に並べたものとして、正しいものはどれか。 #include <stdio.h> int main(void) { int p[6] = {32, 45, 51, 38, 60, 45}; int i, s = 0, m = 0; for (i = 0; i < 6; i++) { s = s + p[i]; if (p[i] > m) m = p[i]; } printf("%d\n", s / 6); printf("%d\n", m); return 0; }

解答と解説を先に見る

正解: 4. 45、60

表示は 45、60 の順です。for 文は i = 0 から 5 まで 6 回繰り返し、s に p[0]〜p[5] を順に足すので s = 32 + 45 + 51 + 38 + 60 + 45 = 271 です。m は 0 から始まり、p[i] が m より大きいときだけ置き換わるので 32、45、51、60 と更新され、最大値 60 になります。s と 6 はどちらも int なので s / 6 は整数どうしの割り算で、271 ÷ 6 = 45.16… の小数部分が切り捨てられて 45 になります。「46、60」は小数部分を切り上げた値です。「271、0」は割り算の前の合計を表示するとし、さらに比較の向きを逆に読んだ値です。「45、0」は比較の向きを逆に読み、0 より小さい値が無いので m が 0 のままとした値です。「271、45」は合計を表示し、m を最後の値 45 とした値です。整数どうしの / は小数部分を捨てることを押さえましょう。

関連キーワード: 情報伝送及び処理・C言語・整数の除算・繰り返し

このカテゴリの最後の問題です
やめる(試験トップへ戻る)
PR4科目に入る前の数学・電気の土台固め(入門・レビュー最多) 3.9

みんなが欲しかった! 電験三種 合格へのはじめの一歩 第2版

Amazon でテキストを見る
お急ぎ便・対象本の還元もまとめて — Amazonプライム 30日無料(PR)

模試 (16問)

この問題が解けたら、本試験はどうですか?

本番形式の模擬試験で実力チェックPremium (月480円)Premium (ご利用中)本番と同じ制限時間

模試を始める
広告