看他人编的程序时的疑问!该怎么处理
看他人编的程序时的疑问!
一个班级有五个学生,共学习4门课.要求编写程序完成下面3个功能
(1)求出第三门功课的平均分
(2)找出有两门以上功课不及格的学生,输出他们的学号和全部课程成绩及平均分
(3)找出平均成绩在85分以上或者全部课程成绩在80分以上的学生
提示:可以用二维数组组成结构体数组实现之
struct student
{float score1;
float score2;
float score3;
float score4;
}str[5]
程序如下:
仅供参考
fun1() {
float sum = 0;
for (int i=0; i <5; i++) {
sum += str[i].score3;
}
printf( "第三门功课平均分:%f ", sum/5);
}
fun2() {
float sum = 0;
int count = 0;
for (int i=0; i <5; i++) {
sum = str[i].score1 + str[i].score2 + str[i].score3 + str[i].score4;
count = 0;
count += ((str[i].score1 <60) ? 1 : 0);
count += ((str[i].score2 <60) ? 1 : 0);
count += ((str[i].score3 <60) ? 1 : 0);
count += ((str[i].score4 <60) ? 1 : 0);
if (count > 1) {
printf( "不及格 学号:%d, 成绩:%f,%f,%f,%f, 平均分: ", i, str[i].score1, str[i].score2, str[i].score3, str[i].score4, sum/4);
}
}
}
fun3() {
float sum = 0;
int count = 0;
for (int i=0; i <5; i++) {
sum = str[i].score1 + str[i].score2 + str[i].score3 + str[i].score4;
count = 0;
count += ((str[i].score1> =80) ? 1 : 0);
count += ((str[i].score2> =80) ? 1 : 0);
count += ((str[i].score3> =80) ? 1 : 0);
count += ((str[i].score4> =60) ? 1 : 0);
if (sum/4> =85 || count==4) {
printf( "平均成绩在85分以上或者全部课程成绩在80分以上的学生 学号:%d ", i);
一个班级有五个学生,共学习4门课.要求编写程序完成下面3个功能
(1)求出第三门功课的平均分
(2)找出有两门以上功课不及格的学生,输出他们的学号和全部课程成绩及平均分
(3)找出平均成绩在85分以上或者全部课程成绩在80分以上的学生
提示:可以用二维数组组成结构体数组实现之
struct student
{float score1;
float score2;
float score3;
float score4;
}str[5]
程序如下:
仅供参考
fun1() {
float sum = 0;
for (int i=0; i <5; i++) {
sum += str[i].score3;
}
printf( "第三门功课平均分:%f ", sum/5);
}
fun2() {
float sum = 0;
int count = 0;
for (int i=0; i <5; i++) {
sum = str[i].score1 + str[i].score2 + str[i].score3 + str[i].score4;
count = 0;
count += ((str[i].score1 <60) ? 1 : 0);
count += ((str[i].score2 <60) ? 1 : 0);
count += ((str[i].score3 <60) ? 1 : 0);
count += ((str[i].score4 <60) ? 1 : 0);
if (count > 1) {
printf( "不及格 学号:%d, 成绩:%f,%f,%f,%f, 平均分: ", i, str[i].score1, str[i].score2, str[i].score3, str[i].score4, sum/4);
}
}
}
fun3() {
float sum = 0;
int count = 0;
for (int i=0; i <5; i++) {
sum = str[i].score1 + str[i].score2 + str[i].score3 + str[i].score4;
count = 0;
count += ((str[i].score1> =80) ? 1 : 0);
count += ((str[i].score2> =80) ? 1 : 0);
count += ((str[i].score3> =80) ? 1 : 0);
count += ((str[i].score4> =60) ? 1 : 0);
if (sum/4> =85 || count==4) {
printf( "平均成绩在85分以上或者全部课程成绩在80分以上的学生 学号:%d ", i);