コードが欲しいので質問します 次の動作を行なうプログラムを作成する. 1. 5人の学生の学生番号,数学,英語,物理の試験点数をキーボードから入力する. 2. 関数 calculateSum の戻り値である学生1名の3科目の合計点を,構造体 struct student のメンバである3科目の合計点に代入する. 3. 関数 printStudent を用いて,学生番号,3科目の点数,および,合計点の得点表を表示する. これをもとに作ったコードが以下 #include <stdio.h> #define N 5 struct student { int n; int math; int eng; int phy; int total; }; int calculateSum(struct student); void printStudent(struct student); int main(void) { int i; struct student s[N]; for (i = 0; i < N; i++) { printf("No. %d¥n", i + 1); printf("Student number: "); scanf("%d", &s[i].n); printf("Score of Mathematics: "); scanf("%d", &s[i].math); printf("Score of English: "); scanf("%d", &s[i].eng); printf("Score of Physics: "); scanf("%d", &s[i].phy); s[i].total = calculateSum(s[i]); } printf("¥nstu.num., Math., Eng., Phys., Sum¥n"); for (i = 0; i < N; i++) { printfStudent(s[i]); } return 0; } int calculateSum(struct student a) { return a.math + a.eng + a.phy; } void printfStudent(struct student a) { printf("%d, %3d, %3d, %3d, %3d¥n", a.n, a.math, a.eng, a.phy, a.total); } このコードに以下の機能を拡張したいです 1. 関数 getStatistics は学生のデータをすべて受け取り,5人の学生の合計点の最大値・最小値・平均値を求め,STATISTICS型の構造体に格納し,戻り値としてこの構造体を返す. 2. main関数は,演習課題11-3の表示に続けて,関数 getStatistics の戻り値で得た最大値・最小値・平均値を表示する. STATISTICS型の構造体は,合計点の最大値・最小値・平均値を格納し,次の通り宣言されるとする. typedef struct { int max; int min; double ave; } STATISTICS; 関数 getStatistics の仕様は次の通りである. 引数: struct student data[] - 学生5名分の情報を格納した構造体の配列 戻り値: STATISTICS型変数 - 引数 data[] の要素である全学生の3科目の合計点の,最大値・最小値・平均値を各メンバに格納する. 機能: 引数 data[] の要素である各学生の3科目の合計点の最大値・最小値・平均値を計算し,STATISTICS型の構造体にそれぞれを格納し,戻り値としてこの構造体を返す. 実行例は画像です
C言語関連