当前位置:首页 考试管理 考试成绩 c语言如何求一个班成绩的最高分和最低分

c语言如何求一个班成绩的最高分和最低分

发布时间:2025-05-14 14:06:14

以下是使用C语言求一个班成绩的最高分和最低分的完整示例代码,包含输入处理和结果输出:

一、完整代码示例

```c

include

c语言如何求一个班成绩的最高分和最低分

define MAX_STUDENTS 100

// 函数声明

void findMaxMin(float scores[], int size, float *max, float *min);

void calculateAverage(float scores[], int size, float *average);

int main() {

float scores[MAX_STUDENTS];

int numStudents;

float max, min, average;

printf("请输入学生人数(最多100人):");

scanf("%d", &numStudents);

if (numStudents <= 0 || numStudents > MAX_STUDENTS) {

printf("输入的学生人数不合法!

");

return 1;

}

printf("请输入%d个学生的成绩:n", numStudents);

for (int i = 0; i < numStudents; i++) {

scanf("%f", &scores[i]);

}

// 调用函数计算最高分和最低分

findMaxMin(scores, numStudents, &max, &min);

// 调用函数计算平均分

calculateAverage(scores, numStudents, &average);

printf("最高分:%.2f(学号:%d)

", max, (int)max);

printf("最低分:%.2f(学号:%d)

", min, (int)min);

printf("平均分:%.2f

", average);

return 0;

}

// 求最高分和最低分

void findMaxMin(float scores[], int size, float *max, float *min) {

*max = scores;

*min = scores;

for (int i = 1; i < size; i++) {

if (scores[i] > *max) {

*max = scores[i];

}

if (scores[i] < *min) {

*min = scores[i];

}

}

}

// 计算平均分

void calculateAverage(float scores[], int size, float *average) {

float sum = 0;

for (int i = 0; i < size; i++) {

sum += scores[i];

}

*average = sum / size;

}

```

c语言如何求一个班成绩的最高分和最低分

二、代码说明

输入处理

- 首先通过`scanf`获取学生人数,并进行合法性检查(确保人数在1到100之间)。

- 然后循环输入学生成绩,存储在`scores`数组中。

计算最高分和最低分

- 定义`findMaxMin`函数,通过遍历数组比较每个元素,更新`max`和`min`值。

- 在`main`函数中调用该函数,并通过指针传递结果。

计算平均分

- 定义`calculateAverage`函数,先计算所有成绩的总和,再除以学生人数。

结果输出

- 使用`printf`格式化输出最高分、最低分和平均分,学号通过强制类型转换转换为整数显示。

三、注意事项

c语言如何求一个班成绩的最高分和最低分

数组大小限制:

定义了一个最大容量为100的数组,实际使用时应根据需求调整。

输入验证:建议增加输入验证,防止非数字输入导致程序崩溃。

扩展功能:可在此基础上扩展,如计算中位数、众数等统计信息。

通过以上步骤,可以高效地统计一个班级的最高分和最低分,并输出相关结果。

温馨提示:
本文【c语言如何求一个班成绩的最高分和最低分】由作者 面试高老师 提供。 该文观点仅代表作者本人, 学习笔 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
本站内容仅供参考,本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright © All Right Reserved
粤ICP备15053566号-4