求大神指导!!N个学生4门课。查找平均成绩在90分以上或全部课程在85分以上的学生
#include<stdio.h>#define N 40
void *Search2(float (*p)[4],int n,int s[],int *q,float *aver)
{//查找平均成绩90分以上或全部课程在85分以上的学生
int i,j,k=0,count;
for(i=0;i<n;i++)
{
count=0;
for(j=0;j<4;j++)
if(*(*(p+i)+j)>=85)
count++;
if(count==4||*(aver+i)>=90)
s[k++]=i;
}
*q=k;
return NULL;
}
void Output(float (*p)[4],int s[],int m)
{//输出满足条件的学生的信息,其中m表示数组s的大小,
//n表示所有学生
int i,j,k;
for(k=0;k<m;k++) {
i=s[k];
for(j=0;j<4;j++)
printf("%7.0f",*(*(p+i)+j));
printf("\n");
}
}
int main()
{ float score[N][4],*ps,aver[N];
int i,j,m,n,s1[N]={0},s2[N]={0}; //s数组统计成绩在85分以上学生数
printf("输入学生人数(不超过40):\n");
scanf("%d",&n);
printf("输入每个学生四门课的成绩:\n");
for(i=0;i<n;i++)
for(j=0;j<4;j++)
scanf("%f",&score[i][j]);
m=0;
Search2(score,n,s2,&m,aver);
printf("\n平均成绩在90分以上或全部课程在85以上的学生:\n");
Output(score,s2,m);
return 0;
}
关于学生成绩还有哪些考点?
如果有两门以上成绩不合格,输出他们的学号和全部成绩,用返回指针实现,
改怎么写代码
[此贴子已经被作者于2016-12-21 22:12编辑过]