用C语言编写一 个程序实现成员成绩管理,每个学员包括3门课的成绩。
从键盘输入学员信息,包括学号、姓名、三门课成绩,计算出成员的平均成绩,按照学员平均成绩由大到小排序。另外需增加下面的管理功能。
◆插入功能:在排序后的学员成绩表中插入一个学员的信息,要求插入后仍然保持成绩表原有排序。
◆删除功能:要求输入指定的学号,从学院信息标中删除该学员,删除后的成绩表保持原有排序。
//要使用结构保存每个学员的信息,包括学号,姓名,三门课的成绩、平均成绩。
//使用函数实现单个学员信息的录入功能
//主函数中调用单个学员信息录入函数,要求录入的学员信息不超过50个。
//
#include<stdio.h>
#include<math.h>
#include<string.h>
struct student
{
int a;
char b[4];
float c,d,e;
};
void main()
{
struct student stu[10];
int i;
for(i=0;i<10;i++)
{
printf("\n%d :\n",i+1);
printf("\n :");
scanf("%d",&stu[i].a);
printf("\n :");
fflush(stdin);
gets(stu[i].b);
printf("y 3 ¨:");
printf("\n ¨1:");
scanf("3 ¨1:%3.2f",&stu[i].c);
printf("\n3 ¨2:");
scanf("3 ¨2:%3.2f",&stu[i].d);
printf("\n3 ¨3:");
scanf("3é ¨3:%3.2f",&stu[i].e);
}
6 个解决方案
#1
还真不知道你在写什么
#2
大哥能帮给出这道题的答案吗?
小弟感激不尽啊~
小弟感激不尽啊~
#3
用链表完成,现在的人作业怎么都是想靠别人来完成?
想当年我想了三天,最后还是自己做出来了
想当年我想了三天,最后还是自己做出来了
#4
不能用链表`没学过
这个不算作业。。。
要求自己想的
只能用题目上说的那些东西
这个不算作业。。。
要求自己想的
只能用题目上说的那些东西
#5
#include<stdio.h>
#include<string.h>
struct student
{
int no;
char name[20];
float score1,score2,score3,average;
}stu[50];
void insert(int index,int no,char *pname,float score1,float score2,float score3)
{
stu[index].no = no;
strcpy(stu[index].name,pname);
stu[index].score1 = score1;
stu[index].score2 = score2;
stu[index].score3 = score3;
stu[index].average = (score1+score2+score3)/3;
}
void main(void)
{
int i=0,j,no;
char c,name[20];
float s1,s2,s3;
printf("Input a student information:\n");
while(i<5)
{
scanf("%d %s %f %f %f",&no,name,&s1,&s2,&s3);
insert(i,no,name,s1,s2,s3);
i++;
}
for(j=0;j<i;j++)
{
printf("%d: %d %s %.2f %.2f %.2f %.2f\n",j,stu[j].no,stu[j].name,stu[j].score1,stu[j].score2,stu[j].score3,stu[j].average);
}
}
#include<string.h>
struct student
{
int no;
char name[20];
float score1,score2,score3,average;
}stu[50];
void insert(int index,int no,char *pname,float score1,float score2,float score3)
{
stu[index].no = no;
strcpy(stu[index].name,pname);
stu[index].score1 = score1;
stu[index].score2 = score2;
stu[index].score3 = score3;
stu[index].average = (score1+score2+score3)/3;
}
void main(void)
{
int i=0,j,no;
char c,name[20];
float s1,s2,s3;
printf("Input a student information:\n");
while(i<5)
{
scanf("%d %s %f %f %f",&no,name,&s1,&s2,&s3);
insert(i,no,name,s1,s2,s3);
i++;
}
for(j=0;j<i;j++)
{
printf("%d: %d %s %.2f %.2f %.2f %.2f\n",j,stu[j].no,stu[j].name,stu[j].score1,stu[j].score2,stu[j].score3,stu[j].average);
}
}
#6
上面是录入 排序和删除就自己搞定了
#1
还真不知道你在写什么
#2
大哥能帮给出这道题的答案吗?
小弟感激不尽啊~
小弟感激不尽啊~
#3
用链表完成,现在的人作业怎么都是想靠别人来完成?
想当年我想了三天,最后还是自己做出来了
想当年我想了三天,最后还是自己做出来了
#4
不能用链表`没学过
这个不算作业。。。
要求自己想的
只能用题目上说的那些东西
这个不算作业。。。
要求自己想的
只能用题目上说的那些东西
#5
#include<stdio.h>
#include<string.h>
struct student
{
int no;
char name[20];
float score1,score2,score3,average;
}stu[50];
void insert(int index,int no,char *pname,float score1,float score2,float score3)
{
stu[index].no = no;
strcpy(stu[index].name,pname);
stu[index].score1 = score1;
stu[index].score2 = score2;
stu[index].score3 = score3;
stu[index].average = (score1+score2+score3)/3;
}
void main(void)
{
int i=0,j,no;
char c,name[20];
float s1,s2,s3;
printf("Input a student information:\n");
while(i<5)
{
scanf("%d %s %f %f %f",&no,name,&s1,&s2,&s3);
insert(i,no,name,s1,s2,s3);
i++;
}
for(j=0;j<i;j++)
{
printf("%d: %d %s %.2f %.2f %.2f %.2f\n",j,stu[j].no,stu[j].name,stu[j].score1,stu[j].score2,stu[j].score3,stu[j].average);
}
}
#include<string.h>
struct student
{
int no;
char name[20];
float score1,score2,score3,average;
}stu[50];
void insert(int index,int no,char *pname,float score1,float score2,float score3)
{
stu[index].no = no;
strcpy(stu[index].name,pname);
stu[index].score1 = score1;
stu[index].score2 = score2;
stu[index].score3 = score3;
stu[index].average = (score1+score2+score3)/3;
}
void main(void)
{
int i=0,j,no;
char c,name[20];
float s1,s2,s3;
printf("Input a student information:\n");
while(i<5)
{
scanf("%d %s %f %f %f",&no,name,&s1,&s2,&s3);
insert(i,no,name,s1,s2,s3);
i++;
}
for(j=0;j<i;j++)
{
printf("%d: %d %s %.2f %.2f %.2f %.2f\n",j,stu[j].no,stu[j].name,stu[j].score1,stu[j].score2,stu[j].score3,stu[j].average);
}
}
#6
上面是录入 排序和删除就自己搞定了