c语言3和4题怎么做
3个回答
展开全部
第三题:
#include<stdio.h>
struct student
{
char name[256];
int id;
float score_math;
float score_eng;
};
int num=0;
int main()
{
float avg_eng(struct student stu[]);
float sum_math(struct student stu[]);
float sumOfMath,avgOfEng;
printf("请输入学生数量: \n");
scanf("%d",&num);
struct student stu[num];
for(int i=0;i<num;i++)
{
printf("请依次输入第%d个学生的姓名,ID,数学成绩和英语成绩: \n",i+1);
scanf("%s%d%f%f",stu[i].name,&stu[i].id,&stu[i].score_math,&stu[i].score_eng);
}
sumOfMath=sum_math(stu);
avgOfEng =avg_eng(stu);
printf("这些学生的数学总分为:%f。\n 英语平均分为:%f。\n",sumOfMath,avgOfEng);
return 0;
}
float sum_math(struct student stu[num])
{
float sum=0;
// int n=sizeof(stu)/sizeof(struct student);
for(int i=0;i<num;i++)
sum+=stu[i].score_math;
return sum;
}
float avg_eng(struct student stu[num])
{
float avg,sum=0;
// int n=sizeof(stu)/sizeof(struct student);
for(int i=0;i<num;i++)
sum+=stu[i].score_eng;
avg=sum/num;
return avg;
}
第四题:差不多,你照着第三题的改改就行了
#include<stdio.h>
struct student
{
char name[256];
int id;
float score_math;
float score_eng;
};
int num=0;
int main()
{
float avg_eng(struct student stu[]);
float sum_math(struct student stu[]);
float sumOfMath,avgOfEng;
printf("请输入学生数量: \n");
scanf("%d",&num);
struct student stu[num];
for(int i=0;i<num;i++)
{
printf("请依次输入第%d个学生的姓名,ID,数学成绩和英语成绩: \n",i+1);
scanf("%s%d%f%f",stu[i].name,&stu[i].id,&stu[i].score_math,&stu[i].score_eng);
}
sumOfMath=sum_math(stu);
avgOfEng =avg_eng(stu);
printf("这些学生的数学总分为:%f。\n 英语平均分为:%f。\n",sumOfMath,avgOfEng);
return 0;
}
float sum_math(struct student stu[num])
{
float sum=0;
// int n=sizeof(stu)/sizeof(struct student);
for(int i=0;i<num;i++)
sum+=stu[i].score_math;
return sum;
}
float avg_eng(struct student stu[num])
{
float avg,sum=0;
// int n=sizeof(stu)/sizeof(struct student);
for(int i=0;i<num;i++)
sum+=stu[i].score_eng;
avg=sum/num;
return avg;
}
第四题:差不多,你照着第三题的改改就行了
追问
程序运行错误
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询