C语言,有关指针的问题。
  • 板块灌水区
  • 楼主孤独的鹿
  • 当前回复8
  • 已保存回复8
  • 发布时间2020/8/26 20:09
  • 上次更新2023/11/6 19:14:57
查看原帖
C语言,有关指针的问题。
308221
孤独的鹿楼主2020/8/26 20:09

题目:四名学生,五门成绩,找出两科不及格的学生,输出他们的学号、姓名、及其全部成绩和平均成绩。

问题:输出结果为空,求大佬解答。

代码如下:

#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);
}
2020/8/26 20:09
加载中...