c言語の課題で、名前(char name[20])とテストのスコア(int score)を持つ構造体 personal と、1 クラス分の生徒(struct personal)とその生徒の平均点(float average)を持つ構造体 file を作成し、クラス数は2、生徒数は各クラス3人とする。そして、名前とスコアを入力した後、各クラスの
平均と各クラスの平均の平均を求めるプログラムを作成せよ。と出たのですが、各クラスの平均が出ません。どなたか教えてください。
#include<stdio.h>
struct personal{
char name[20];
int score;
};
struct file{
float average;
struct personal data;
};
int main(){
struct personal stu[10];
struct file stu2[10];
int i,j,k;
float sum=0.0;
for(i=1;i<=2;i++){
printf("------input class %d data-----\n",i);
for(j=1;j<=3;j++){
printf("---student %d---\n",j);
printf("name:");
scanf("%s",stu[j].name);
printf("score:");
scanf("%d",&stu[j].score);
}
}
for(i=1;i<=2;i++){
printf("-----class %d data-----\n",i);
for(j=1;j<=3;j++){
printf("---student %d---\n",j);
printf("name:%s\n",stu[j].name);
printf("score:%d\n",stu[j].score);
sum+=stu[j].score;
stu2[j].average=sum/6;
}
}
for(k=1;k<=2;k++){
printf("class %d average is %.1f\n",k,stu2[j].average);
}
}
実行例は以下のようになります。
------input class 1 data-----
---student 1---
name : a
score : 10
---student 2---
name : b
score : 20
---student 3---
name : c
score : 30
------input class 2 data-----
---student 1---
name : q
score : 20
---student 2---
name : w
score : 30
---student 3---name : e
score : 40
-----class 1 data-----
---student 1---
name : a
score : 10
---student 2---
name : b
score : 20
---student 3---
name : c
score : 30
-----class 2 data-----
---student 1---
name : q
score : 20
---student 2---
name : w
score : 30
---student 3---
name : e
score : 40
class 1 average is 20.0
class 2 average is 30.0
entire average is 25.0
回答2件
あなたの回答
tips
プレビュー