用简单的c语言编写某位同学第一学期有3门课程,第二学期有 5门课程,根据每门课程的得分情况,找出每 个学期中最高分和最低分。 第一学期:78,92,85 第二学期:82,68,77,95,89
时间: 2024-10-27 14:04:20 浏览: 13
在C语言中,我们可以创建一个结构体来表示学生及他的课程成绩,并分别计算每个学期的最高分和最低分。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 用于整数比较
// 定义一个结构体来存储学生成绩
typedef struct {
char* semester; // 例如 "第一学期" 或 "第二学期"
int num_courses;
int scores[ ]; // 动态数组存储分数
} Student;
// 计算并返回数组中的最大值和最小值
int find_max_min(int scores[], int size) {
int max = scores[0], min = scores[0];
for (int i = 1; i < size; i++) {
if (scores[i] > max)
max = scores[i];
else if (scores[i] < min)
min = scores[i];
}
return min, max;
}
int main() {
// 创建两个学生实例
Student student1 = {"第一学期", 3, {78, 92, 85}};
Student student2 = {"第二学期", 5, {82, 68, 77, 95, 89}};
// 分别计算每个学期的成绩范围
int first_semester_min, first_semester_max;
first_semester_min = first_semester_max = student1.scores[0];
first_semester_min = find_max_min(student1.scores, student1.num_courses);
printf("第一学期最高分: %d, 最低分: %d\n", first_semester_max, first_semester_min);
int second_semester_min, second_semester_max;
second_semester_min = second_semester_max = student2.scores[0];
second_semester_min = find_max_min(student2.scores, student2.num_courses);
printf("第二学期最高分: %d, 最低分: %d\n", second_semester_max, second_semester_min);
return 0;
}
```
当你运行这个程序,它会分别打印出每个学期的最高分和最低分。
阅读全文