某班期中考试3门功课,其中两门是主课,输入学生的学号,3门课的成绩,判断是否满足下列条件之一:(1)3门功课总分>270;(2)两门主课均在95分以上,另一门课不低于70分;(3)有一门主课100分,其他两门课不低于80分。输出满足条件学生的学号、3门课成绩和平均分。用c语言
时间: 2024-10-07 14:01:42 浏览: 42
在C语言中,你可以使用结构体来存储学生的信息,并编写函数来检查上述条件。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义学生信息结构
typedef struct {
int id;
float subject1;
float subject2;
float subject3;
} Student;
// 函数来判断条件并打印结果
void checkCondition(Student student) {
// 条件1:总分大于270
if (student.subject1 + student.subject2 + student.subject3 > 270) {
printf("学号:%d, 成绩:%.1f, %.1f, %.1f, 平均分:%.1f\n",
student.id, student.subject1, student.subject2, student.subject3,
(student.subject1 + student.subject2 + student.subject3) / 3);
}
// 条件2:两门主科高分,一门及格
else if (student.subject1 >= 95 && student.subject2 >= 95 && student.subject3 >= 70) {
printf("学号:%d, 成绩:%.1f, %.1f, %.1f, 平均分:%.1f\n",
student.id, student.subject1, student.subject2, student.subject3,
(student.subject1 + student.subject2 + student.subject3) / 3);
}
// 条件3:一门主科满分,另两门及格
else if (student.subject1 == 100 && (student.subject2 >= 80 || student.subject3 >= 80)) {
printf("学号:%d, 成绩:%.1f, %.1f, %.1f, 平均分:%.1f\n",
student.id, student.subject1, student.subject2, student.subject3,
(student.subject1 + student.subject2 + student.subject3) / 3);
}
}
int main() {
Student students[] = { // 示例数据
{1, 90, 95, 85},
{2, 100, 90, 88}, // 符合条件的学号
{3, 85, 70, 100},
};
int n = sizeof(students) / sizeof(students[0]);
for (int i = 0; i < n; i++) {
checkCondition(students[i]);
}
return 0;
}
```
阅读全文