永发信息网

c语言编写程序实现学员成绩管理

答案:1  悬赏:40  手机版
解决时间 2021-06-09 12:18
  • 提问者网友:听门外雪花风
  • 2021-06-08 17:33

不要运用结构

用c语言编写一个程序实现学员成绩管理,每个学生包括3门课的成绩。从键盘输入学员信息,包括学员姓名、姓名、5门课成绩,计算出学员的平均成绩,按照学员平均成绩由大到小排序。另外需要增加如下的管理功能:
插入功能:在排序后的学员成绩表中插入一个学员的信息,要求插入后仍然保持成绩表原有排序。
删除功能:要求输入指定的学号,从学员信息表中删除该学员,删除后的成绩表保持原有排序。

能算总分平均分,数组,函数,循环,增加功能等

越简单越好

最佳答案
  • 五星知识达人网友:罪歌
  • 2021-06-08 17:54

帮你用结构体写了一个你看行不行



#include<stdio.h>
#define FORMAT "学号:%d\t姓名:%s\t语文:%d\t数学:%d\t英语:%d\n"
struct student
{
int stud_id;
char name[20];
int score[3];
int total;
int average;
};struct student stu[3];


void print(struct student *p1)
{
//float average;
for(int i=0;i<3;i++)
printf(FORMAT,stu[i].stud_id,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]); //得到p指向结构体变量中的值


}
void average(struct student *p2)
{
for(int i=0;i<3;i++)
{

printf("%s",stu[i].name);
printf("的总平均分:");
stu[i].total=0;
stu[i].total=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].average=(stu[i].total)/3;
printf("%d\n",stu[i].average);
}



}


void max(struct student *p3)
{
if(stu[0].total>stu[1].total&&stu[0].total>stu[2].total)
{ printf("总分最高的学生是:");
printf("%s\t",stu[0].name);
printf("三门总分:");
printf("%d",stu[0].total);
}
else if(stu[1].total>stu[0].total&&stu[1].total>stu[2].total)
{
printf("总分最高的学生是:");
printf("%s\t",stu[1].name);
printf("三门总分:");
printf("%d",stu[1].total);

}
else if(stu[2].total>stu[0].total&&stu[2].total>stu[1].total)
{
printf("总分最高的学生是:");
printf("%s\t",stu[2].name);
printf("三门总分:");
printf("%d",stu[2].total);
}
}


void main()
{
int i,j;
struct student *p; //定义一个指向结构体变量的指针
p=stu;
printf("输入学生的信息:");
for(i=0;i<3;i++)
{
scanf("%d",&(stu[i].stud_id));
scanf("%s",&(stu[i].name));
for(j=0;j<3;j++)
{
scanf("%d",&(stu[i].score[j]));
}
}


void print(struct student * p);
print(stu);


void average(struct student * p);
average(stu);


void max(struct student * p);
max(stu);
}



我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯