题目要求是用三个函数实现的:
#include
struct student
{
char num[10];
int one;
int two;
int three;
int four;
int five;
}stu[30];
int n;//学生人数
void aver(student stu[],int n)//求平均分函数
{
int i;
float aver1=0.0;
for(i=0;i
aver1=aver1+stu[i].one;
aver1=aver1/n;
printf("%.2f\n",aver1);
}
void bad(student stu[],int n)//求不及格的函数
{
int i,count,count=0; // count记录不及格的课程数是否超过两门
//count记录不及格的学生人数是否为零
for(i=0;i
{
count=0;
if(stu[i].one<60) count=count+1;
if(stu[i].two<60) count=count+1;
if(stu[i].three<60) count=count+1;
if(stu[i].four<60) count=count+1;
if(stu[i].five<60) count=count+1;
if(count>=2)
{
printf("%s",stu[i].num);
count++;
}
printf(" ");
}
if(count==0)
printf("no");
printf("\n");
}
void above_90(student stu[],int n)//求90分以上学生的函数
{
int i;
float ave;
int count=0;//记录90分以上学生的人数
for(i=0;i
{
ave=0.0;
ave=(float)stu[i].one+(float)stu[i].two+(float)stu[i].three+(float)stu[i].four+(float)stu[i].five;
ave=ave/5;
if(ave>90)
{
count++;
printf("%s",stu[i].num);
printf(" ");
}
}
if(count==0)
printf("no\n");
}
int main()
{
int i,n,count=0;
scanf("%d",&n);
for(i=0;i
{
scanf("%s",stu[i].num);
scanf("%d %d %d %d %d",&stu[i].one,&stu[i].two,&stu[i].three,&stu[i].four,&stu[i].five);
}
//一下是三个函数调用,分别实现题目的三种功能
aver(stu,n);
bad(stu,n);
above_90(stu,n);
return 0;
}
满足了题目的要求