题目:四名学生,五门成绩,找出两科不及格的学生,输出他们的学号、姓名、及其全部成绩和平均成绩。
问题:输出结果为空,求大佬解答。
代码如下:
#include<stdio.h>
int i,j;
int main()
{
float average2(float (*x)[5],int y);
float *search(float (*x)[5]);
char *a[]={"sam","amy","diming","ling"};
float b[4][5]={{65,57,70,60,89},{58,87,90,57,95}, {90,99,100,98,96},{87,59,66,96,56}}, *c;
for(i=0;i<4;i++)
{
c=search(b+i);
if(c==*(b+i))
{
printf("The %dstudent is %s,The score is:" ,i+1,a[i]);
for(j=0;j<5;j++)
printf("%5.2f ",*(*(b+j)));
printf("The average is %5.2f\n",average2(b+i,5));
}
}
return 0;
}
float average2(float (*x)[5],int y)
{
float aver,sum;
for(i=0;i<5;i++)
sum=sum+*(*x+i);
aver=sum/y;
return(aver);
}
float *search(float (*x)[5])
{
int k;
float *z=NULL;
for(i=0;i<5;i++)
{
if(*(*x+i)<60)
k++;
}
if(k==2)
{
z=*x;
return(z);
}
else return(z);
}