这个问题时有五名学生,每人有三门考试成绩,计算每个学生的总分与平均成绩。查找一门及以上课程不及格的学生,输出全部学生的成绩。
为什么我这样写错呢
#include<stdio.h>
void average(int score);
void search(int(*p1)[6]);
int main()
{
printf("学号 数学 英语 计算机 总分 平均数");
int score[5][6]={{201101,78,93,82},{201102,67,83,72},{201103,55,83,62},{201104,65,59,70},{201105,80,78,90}};
average(score);
search(score);
return 0;
}
void average(int score[5][6])
{
int i,b;
for(i=0;i<5;i++)
for(b=0;b<6;b++)
{
if(b==4) score[i][b]=score[i][b-1]+score[i][b-2]+score[i][b-3];
if(b==5) score[i][b]=(score[i][b-1]+score[i][b-2]+score[i][b-3])/3;
}
for(i=0;i<5;i++)
for(b=0;b<6;b++)
{ printf("%-12d",score[i][b]); if(b==5) printf("\n"); } printf("\n");
}
void search(int(*p1)[6])
{
int i,b;
printf("成绩有一门以上不及格的学生如下:\n");
for(i=0;i<5;i++)
for(b=1;b<4;b++)
{
if(*(*(p1+i)+b)<60)
{
for(b=0;b<6;b++)
{ printf("%-12d",*(*(p1+i)+b)); if(b==5) printf("\n");}
}
}
}