要用c语言程序的机构体来解决

来源:百度知道 编辑:UC知道 时间:2024/06/08 00:33:52
〈用结构体回答〉已知30个学生的学号姓名以及英语,语文数学3门课的成绩,编写个程序,完成下列工作:
1.全班每个学生姓名学号和3门课成绩的输入及总分计算.
2.统计各科的总成绩.
3.当给出学生姓名或学号时,检索出该生每门功课的成绩及总分成绩

#include<stdio.h>
#include<string.h>
#define max 100
typedef struct
{
char name[max];// 姓名
int num;//学号
int eng;//英语成绩
int pro;//程序设计成绩
int maths;//数学成绩
}student;
void input(student s[],int n)//输入以及求总分
{
int sum=0;
for(int i=0;i<n;i++)
{
printf("输入第%d个学生的姓名:\n",i+1);gets(s[i].name);
printf("输入第%d个学生的学号:\n",i+1);scanf("%d",&s[i].num);
printf("输入第%d个学生的英语成绩:\n",i+1);scanf("%d",&s[i].eng);
printf("输入第%d个学生的程序设计成绩:\n",i+1);scanf("%d",&s[i].pro);
printf("输入第%d个学生的数学成绩:\n",i+1);scanf("%d",&s[i].maths);
sum=s[i].eng+s[i].pro+s[i].maths;
printf("总分为:%d\n",sum);
fflush(stdin);
}
}
void sumscore(student s[],int n)//单科成绩总和
{
int sum_eng=0,sum_pro=0,sum_maths=0;
for(int i=0;i<n;i++) <