ID非公開

2022/6/28 19:49

22回答

以下のプログラムを修正してこの型のまま5人の点数と平均点を表示させるものを作りたいです。修正点、正しいプログラムを教えてください。 #include <stdio.h>

ベストアンサー

0

その他の回答(1件)

0

#include <stdio.h> #include <string.h> typedef struct scores {     char name[100];     int math;     int physics;     int eng; } Scores; double calc_average(struct scores st) {     double ave = 0;     ave = (st.math + st.physics + st.eng) / 3.0;     // 値を返していない。 } // 関数内でcalc_average()を呼ぶなら、引数のaveは不要 void printscore(struct scores st, double ave) {     printf("%s さんの点数n", st.name);     printf(" 数学:%d 点\n", st.math);     printf(" 物理;%d 点\n", st.physics);     printf(" 英語:%d 点\n", st.eng);     // 関数に引数を渡していない。「{}」の使い方が不適切     printf(" 平均点:%f 点\n", calc_average{}); } int main(void) {     // 変数aveは不要。     double ave = 0;     // 4人分しかない。     Scores st[] = {         {"Tanaka", 60, 80, 40},         {"Sanaka", 85, 79, 90},         {"Masaki", 90, 55, 70},         {"Sato", 40, 50, 80},     };     int j;     // calc_average()に、jを渡している。(不要)     for (j = 0; j < 5; j++) printscore(st[j], calc_average(j));     return 0; }