#include<stdio.h>
#include<stdlib.h>
float aver(int num[],int n)
{
float s,q;
int i;
for(i=0;i<n;i++)
{
q+=num[i];
}
s=q/n;
return s;
}
int nopass(int num[],int n)
{
int x=0,i;
for(i=0;i<n;i++)
{
if(num[i]<60)
{
x++;
}
else{
x+=0;
}
}
return x;
}
float bujige(int n,int m)
{
float w;
w=(float)m/(float)n;
return w;
}
int max1(int num[],int n)
{
int t=0,i;
for(i=0;i<n;i++)
{
if(t<num[i])
{
t=num[i];
}
else{
t=t;
}
}
return t;
}
void pixv(int num[],int n)
{
int i,j,t;
for(j=0;j<n;j++)
{
for(i=0;i<n-1;i++)
{
if(num[i]<num[i+1])
{
t=num[i];
num[i]=num[i+1];
num[i+1]=t;
}
}
}
for(i=0;i<n;i++)
{
printf("%d %d\n",i+1,num[i]);
}
}
int main()
{
int n,i;
int num[100];
printf("请输入学生人数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d个学生的成绩:\n",i+1);
scanf("%d",&num[i]);
}
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf(" 学生成绩分析系统\n");
printf("***********************************************************************\n");
printf("\n");
printf("1.查询全部成绩\n");
printf("2.查询平均分\n");
printf("3.查询不及格率\n");
printf("4.查询最高分\n");
printf("5.按成绩降序排序\n");
printf("0.退出");
printf("\n");
printf("\n");
printf("\n");
printf("***********************************************************************\n");
printf(" 请选择1-4\n");
printf("\n");
printf("\n");
printf("\n");
int x; //全部成绩
int y=0;
float b; //平均成绩
int z;
float v; //不及格率
int g; //最高分
while(1)
{
scanf("%d",&x);
switch (x)
{
case 1:
{
printf("C语言成绩单\n");
printf("\n");
printf("序号 成绩\n");
for(i=0;i<n;i++)
{
printf("%d %d\n",i+1,num[i]);
}
printf("按任意键执行其他功能");
break;
}
case 2:
{
b=aver(num,n);
printf("c语言的平均分是:%.2f按任意键继续",b);
break;
}
case 3:
{
z=nopass(num,n);
v=bujige(n,z);
printf("不及格人数是:%d,不及格率是:%.2f",z,v);
break;
}
case 4:
{
g=max1(num,n);
printf("最高分是:%d",g);
break;
}
case 5:
{
printf(" c语言成绩单\n");
printf("序号 成绩\n");
pixv(num,n);
break;
}
case 0:
{
exit(0);
break;
}
}
}
return 0;
}
要求使用函数,数组的知识完成学生成绩管理系统。第一步先选择学生人数,第二步输入学生成绩(不脱离int的类型),第三步进入学生管理系统,按1显示全部成绩,按2显示平均分,按3显示不及格人数和不及格率,按4显示最高分,按5显示成绩降序排序(这里是冒泡排序),按0退出系统。