c语言大作业——学生成绩管理系统v5.0

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

tudentID);
scanf("%s",stu[i].studentName);
for(j=0;j<m;j++)
scanf("%d",&stu[i].score[j]);
}
}
void Totalave (STU stu[],int n,int m) 算每门课程的总分和平均分{
int i,j,sum[M];
double ave[M];
for(j=0;j<m;j++)
{
sum[j]=0;
for(i=0;i<n;i++)
{
sum[j]=sum[j]+stu[i].score[j];
}
ave[j]=(double)sum[j]/n;
}
for(i=0;i<m;i++)
printf("科目%d的总分=%d,课程的平均分=%f\n",i+1,sum[i],ave[i]);
}
void evestuTotalave (STU stu[],int n,int m) 算每个学生的总分和平均分
{
int i,j,sum[N];
double ave[N];
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<m;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
ave[i]=(double)sum[i]/m;
}
for(i=0;i<n;i++)
printf("学号为%ld,姓名为%s的总分=%d,其平均分=%f\n",stu[i].studentID,stu[i].studentName,sum[i],ave[i]);
}
void Scoredes (STU stu[],int n,int m) 每个学生的总分由高到低排出名次表{
int i,j,k,h,sum[N];
STU t;
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<m;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
}
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if (sum[j]>sum[k])
k=j;
}
if(i!=k)
{
t=stu[i],h=sum[i];
stu[i]=stu[k],sum[i]=sum[k];
stu[k]=t,sum[k]=h;
}
}
for(i=0;i<n;i++)
printf("ID:%10ld,name:%s,score:%d\n",stu[i].studentID,stu[i].studentName,sum[i] );每个学生的总分由di到gao排出名次表
{
int i,j,k,h,sum[N];
STU t;
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<m;j++)
{
sum[i]=sum[i]+stu[i].score[j]; }
}
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if (sum[j]<sum[k])
k=j;
}
if(i!=k)
{
t=stu[i],h=sum[i];
stu[i]=stu[k],sum[i]=sum[k]; stu[k]=t,sum[k]=h;
}
}
for(i=0;i<n;i++)
printf("ID:%10ld,name:%s,score:%d\n",stu[i].studentID,stu[i].studentName,sum[i] );学号由小到大排出名次表
{
int i,j,k;
STU t;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if (stu[j].studentID<stu[k].studentID)
k=j;
}
if(i!=k)
t=stu[k],stu[k]=stu[i],stu[i]=t;
}
for(i=0;i<n;i++)
{
printf("ID:%10ld,name:%s\n",stu[i].studentID,stu[i].studentName);core[j]); }
}
void Dicas (STU stu[],int n,int m) {
int i,j;
STU t;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(stu[i].studentName,stu[j].studentName)>0)
t=stu[i],stu[i]=stu[j],stu[j]=t;
}
}
for(i=0;i<n;i++)
{
printf("ID:%10ld,name:%s\n",stu[i].studentID,stu[i].studentName);
for(j=0;j<m;j++)
printf("project:%d,score:%d\n",j+1,stu[i].score[j]);
}
}
void Searchbynum (STU stu[],int n,int x,int m) 学号查询学生排名及其各科成绩{
int i,j,c=1,find=0,sum[N];
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<m;j++)
sum[i]=sum[i]+stu[i].score[j];
}
for(i=0;i<n;i++)
{
if(stu[i].studentID==x)
{
find=1;
break;
}
}
if(find==0)
printf("not find\n");
else
{
for(j=0;j<n;j++)
{
if(sum[j]>sum[i])
c++;
}
printf("ID:%10ld name:%s\n",stu[i].studentID,stu[i].studentName);core[j]); printf("all score: %d,order:%d\n",sum[i],c);
}
}
void Searchbymane(STU stu[],int n,char name[],int m) core[j];
}
for(i=0;i<n;i++)
{
if(strcmp(stu[i].studentName,name)==0)
{find=1;
break;}
}
if(find==0)
printf("not find\n");
else
{
for(j=0;j<n;j++)
{
if(sum[j]>sum[i])
c++;
}
printf("ID:%10ld,name:%s\n",stu[i].studentID,stu[i].studentName);core[j]); printf("all score: %d,order:%d\n",sum[i],c);
}
}
void statistis (STU stu[],int n,int m) {
int a=0,b=0,c=0,d=0,e=0,i,j;
double A,B,C,D,E;
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
{
if(stu[i].score[j]>=90)
a++;
else if(stu[i].score[j]>=80) b++;
else if(stu[i].score[j]>=70) c++;
else if(stu[i].score[j]>=60) d++;
else
e++;
}
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%%\n",d,D); printf("不及格人数%d,百分比:%f%%\n",e,E); }
}
void List (STU stu[],int n,int m) { int i,j,sum[N];
double ave[N];
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<m;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
ave[i]=(double)sum[i]/m;
}
for(i=0;i<n;i++)
{
printf("ID:%10ld,name:%s\n",stu[i].studentID,stu[i].studentName); for(j=0;j<m;j++)
{
printf("score:%d\n",stu[i].score[j]);
}
printf("总分=%d\n平均分%f\n",sum[i],ave[i]);
}
}。

相关文档
最新文档