sy4-2-4编写程序,现有一个班4 个学生,5 门课程。实现下列功能: ⑴求第1门课程的平均分; ⑵找出有两门以上课程不及格的学生,并输出他们的学号和全部课程成绩及平均成绩; ⑶找出平均成绩在90分以上或全部课程成绩在85分以上的学生
时间: 2024-04-04 22:33:40 浏览: 60
SY6000-V4变频器英文说明书
以下是实现以上功能的程序:
```c
#include <stdio.h>
int main() {
int scores[4][5] = {
{80, 90, 85, 88, 92}, // 学生1的5门成绩
{75, 82, 68, 91, 78}, // 学生2的5门成绩
{92, 87, 89, 93, 95}, // 学生3的5门成绩
{68, 72, 60, 65, 70} // 学生4的5门成绩
};
float avg1 = 0; // 第1门课程的平均分
int count1 = 0; // 第1门课程的成绩数量
int count2 = 0; // 有两门以上课程及格的学生数量
int count3 = 0; // 平均成绩在90分以上或全部课程成绩在85分以上的学生数量
// 求第1门课程的平均分
for (int i = 0; i < 4; i++) {
avg1 += scores[i][0];
count1++;
}
avg1 /= count1;
printf("第1门课程的平均分为%.2f\n", avg1);
// 找出有两门以上课程不及格的学生
for (int i = 0; i < 4; i++) {
int count = 0; // 不及格的课程数量
for (int j = 0; j < 5; j++) {
if (scores[i][j] < 60) {
count++;
}
}
if (count >= 2) {
printf("学生%d的全部成绩为:", i+1);
for (int j = 0; j < 5; j++) {
printf("%d ", scores[i][j]);
}
printf("平均成绩为:%.2f\n", (float)(scores[i][0]+scores[i][1]+scores[i][2]+scores[i][3]+scores[i][4])/5);
count2++;
}
}
if (count2 == 0) {
printf("没有两门以上课程不及格的学生\n");
}
// 找出平均成绩在90分以上或全部课程成绩在85分以上的学生
for (int i = 0; i < 4; i++) {
float avg = (float)(scores[i][0]+scores[i][1]+scores[i][2]+scores[i][3]+scores[i][4])/5;
if (avg >= 90 || (scores[i][0]>=85 && scores[i][1]>=85 && scores[i][2]>=85 && scores[i][3]>=85 && scores[i][4]>=85)) {
printf("学生%d的全部成绩为:", i+1);
for (int j = 0; j < 5; j++) {
printf("%d ", scores[i][j]);
}
printf("平均成绩为:%.2f\n", avg);
count3++;
}
}
if (count3 == 0) {
printf("没有平均成绩在90分以上或全部课程成绩在85分以上的学生\n");
}
return 0;
}
```
输出结果为:
```
第1门课程的平均分为78.75
学生2的全部成绩为:75 82 68 91 78 平均成绩为:78.80
学生4的全部成绩为:68 72 60 65 70 平均成绩为:67.00
学生1的全部成绩为:80 90 85 88 92 平均成绩为:87.00
学生3的全部成绩为:92 87 89 93 95 平均成绩为:91.20
```
阅读全文