1、//成绩管理系统v1.0
#include
2、 (STU stu[],int n,int m); void Scoredes (STU stu[],int n,int m); void Scoreas (STU stu[],int n,int m); void Numas (STU stu[],int n,int m); void Dicas (STU stu[],int n,int m); void Searchbynum (STU stu[],int n,int x,int m); void Searchbymane(STU stu[],int n,char name[],int m); void statistis (
3、STU stu[],int n,int m); void List (STU stu[],int n,int m); int main() { int n,c,x,m; char name[10]; STU stu[N]; printf("输入学生人数"); scanf("%d",&n); printf("输入考试科目"); scanf("%d",&m); printf("1.Input record\n"); printf("2.Caculate totel and average score of ev
4、ery course\n"); printf("3.Caculate totel and average score of every student\n"); printf("4.Sort in descending order by total score of every student\n"); printf("5.Sort in ascending order by total score of every student\n"); printf("6.Sort in ascending order by number\n"); pr
5、intf("7.Sort in ascending order by name"); printf("8.Search by number\n"); printf("9.Search by name\n"); printf("10.Statistic analysis for every course\n"); printf("11.List record\n"); printf("0.Exit\n"); printf("Please enter your choice:\n"); printf("\n");
6、 for(;;) { scanf("%d",&c); switch(c) { case 1: //录入学生学号和各科成绩 Input (stu,n,m); printf("Please enter your choice:\n"); break; case 2: //计算每门课程旳总分和平均分 Tota
7、lave (stu,n,m); printf("Please enter your choice:\n"); break; case 3: //计算每个学生旳总分和平均分 evestuTotalave (stu,n,m); break; case 4: //按每个学生旳总分由高到低排出名次表 Scoredes (stu,n,m);
8、 printf("Please enter your choice:\n"); break; case 5: //按每个学生旳总分由低到高排出名次表 Scoreas (stu,n,m); printf("Please enter your choice:\n"); break; case 6: //按学号由小到大排出名次表 Numas (stu,n,m)
9、 printf("Please enter your choice:\n"); break; case 7: //按姓名旳字典顺序排出成绩表 Dicas(stu,n,m); printf("Please enter your choice:\n"); break; case 8: //按学号查询学生排名及其各科成绩 printf("请输
10、入查找学号\n"); scanf("%d",&x); Searchbynum(stu,n,x,m); printf("Please enter your choice:\n"); break; case 9: //按姓名查询学生排名及其各科成绩 printf("请输入查找姓名\n"); scanf("%s",name); getchar();
11、 Searchbymane(stu,n,name,m); printf("Please enter your choice:\n"); break; case 10: //成绩分析 所占比例 statistis (stu,n,m); printf("Please enter your choice:\n"); break; case 11:
12、 //所有输出 List (stu,n,m); Totalave (stu,n,m); printf("Please enter your choice:\n"); break; case 0: exit(0); } } return 0; } void Input (STU stu[],int n,int m) //1 { int i,j; for(i=0;i
13、 14、m[M];
double ave[M];
for(j=0;j 15、 stu[],int n,int m) //3.计算每个学生旳总分和平均分
{
int i,j,sum[N];
double ave[N];
for(i=0;i 16、号为%ld,姓名为%s旳总分=%d,其平均分=%f\n",stu[i].studentID,stu[i].studentName,sum[i],ave[i]);
}
void Scoredes (STU stu[],int n,int m) //4.按每个学生旳总分由高到低排出名次表
{
int i,j,k,h,sum[N];
STU t;
for(i=0;i 17、m[i]+stu[i].score[j];
}
}
for(i=0;i 18、 stu[k]=t,sum[k]=h;
}
}
for(i=0;i 19、)
{
sum[i]=0;
for(j=0;j 20、{
t=stu[i],h=sum[i];
stu[i]=stu[k],sum[i]=sum[k];
stu[k]=t,sum[k]=h;
}
}
for(i=0;i 21、由小到大排出名次表
{
int i,j,k;
STU t;
for(i=0;i 22、
{
printf("ID:%10ld,name:%s\n",stu[i].studentID,stu[i].studentName);//以长整形打印用%ld
for(j=0;j 23、 for(j=i+1;j 24、d,score:%d\n",j+1,stu[i].score[j]);
}
}
void Searchbynum (STU stu[],int n,int x,int m) //8.按学号查询学生排名及其各科成绩
{
int i,j,c=1,find=0,sum[N];
for(i=0;i 25、 if(stu[i].studentID==x)
{
find=1;
break;
}
}
if(find==0)
printf("not find\n");
else
{
for(j=0;j 26、 for(j=0;j 27、 for(j=0;j 28、
}
printf("ID:%10ld,name:%s\n",stu[i].studentID,stu[i].studentName);//以长整形打印用%ld
for(j=0;j 29、
{
int a=0,b=0,c=0,d=0,e=0,i,j;
double A,B,C,D,E;
for(j=0;j 30、
}
A=(double)a/n*100;
B=(double)b/n*100;
C=(double)c/n*100;
D=(double)d/n*100;
E=(double)e/n*100;
printf("project %d\n",j+1);
printf("优秀人数%d,比例:%f%%\n",a,A);
printf("良好人数%d,比例:%f%%\n",b,B);
printf("中档人数%d,比例:%f%%\n",c,C);
printf("及格人数%d,比例:%f% 31、\n",d,D);
printf("不及格人数%d,比例:%f%%\n",e,E);
}
}
void List (STU stu[],int n,int m) //11.
{
int i,j,sum[N];
double ave[N];
for(i=0;i 32、[i]=(double)sum[i]/m;
}
for(i=0;i
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818