有一个班4个学生,5门课程。1.求第一门课程的平均分;2.找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;3.找出平均成绩在90以上或全部课程在85分以上的学生。分别编3个函数实现以上3个要求。
#include <stdio.h>
#include <stdlib.h>
void calAvg(double (*p)[4])
{
double avg = 0.0;
for (int i = 0; i < 4; i++)
{
avg += p[i][0];
}
printf("avg = %lf\n", avg / 5);
}
void calFail(double(*p)[4])
{
int count;
for (int i = 0; i < 4; i++)
{
count = 0.0;
for (int j = 0; j < 5; j++)
{
if ((*(p[i]) + j) < 60.0)
{
count++;
}
}
if (count >= 2)
{
printf(" 不及格的学生为 %d\n ", i);
}
}
}
void calGreat(double(*p)[4])
{
double avg;
int great;
for (int i = 0; i < 4; i++)
{
avg = 0.0;
great = 0;
for (int j = 0; j < 5; j++)
{
avg += p[i][j];
if (p[i][j] >= 85)
{
great++;
}
}
if (great == 5 || (avg/5.0) >= 90)
{
printf("优秀的学生学号 %d\n", i);
}
}
}
int main()
{
double a[4][5];
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 5; j++)
{
scanf("%lf", &a[i][j]);
}
}
calAvg(a);
calFail(a);
calFail(a);
system("pause");
return 0;
}
答案
有一个班4个学生,5门课程。1.求第一门课程的平均分;2.找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;3.找出平均成绩在90以上或全部课程在85分以上的学生。分别编3个函数实现以上3个要求。