二甲基乙醇胺 msds:大家帮忙改一道C语言作业题,谢谢

来源:百度文库 编辑:神马品牌网 时间:2024/04/26 06:19:33
有一个班4个学生,5门课程
(1)求第一门课程的平均分
(2)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩.
(3)找出平均成绩在90分以上或全部课程成绩在85分以上的学生.
#include<stdio.h>
void main()
{
float score[4][6],*q;
int i,j;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%f",*(score+i)+j);
float average(float (*p)[6]);
printf("第一列平均分:%f\n",average(score));
int search1(float (*p)[6],int i);
printf("fail\n");

for(i=0;i<4;i++)
{
if(search1(score+i,i)>=2)
{
printf("No%d score:",i+1);
for(j=0;j<6;j++)
printf("%6.2f",*(*(score+i)+j));
printf("\n");
}

}
float *search2(float (*p)[6]);
printf("good\n");
for(i=0;i<4;i++)
{
q=search2(score+i);
if(q==*(score+i))
{
printf("No%d score:",i+1);
for(j=0;j<6;j++)
printf("%6.2f",*(*(score+i)+j));
printf("\n");
}
}
}

float average(float(*p)[6])
{
int i;
float sum=0,aver;
for(i=0;i<4;i++)
sum+=**(p+i);
aver=sum/4;
return(aver);
}
int search1(float (*p)[6],int i)
{
int j,n=0;
*(*(p+i)+5)=0;
for(j=0;j<5;j++)
{
if(*(*(p+i)+j)<60) n++;
*(*(p+i)+5)+=*(*(p+i)+j);
}
*(*(p+i)+5)/=5.0;
return(n);
}
float *search2(float (*p)[6])
{
int i,j;
float *pt;
pt=*(p+1);
for(i=0;i<4;i++)
for(j=0;j<5;j++)
{
if(*(*(p+i)+5)>=90||*(*(p+i)+j)>=85)
pt=*p;
else pt=*(p+1);
return(pt);
}
}

应该没有错的