用c语言写统计C语言最高分最低分平均分和及格率
时间: 2024-09-19 17:03:44 浏览: 92
C语言写的学生管理系统,包括读取,更新,统计,查询,排序,输出,保存.zip
在C语言中,我们可以创建一个简单的函数来统计最高分、最低分、平均分和及格率。假设我们有一个包含学生分数的数组,并已知总人数和及格线分数,下面是一个简化的示例:
```c
#include <stdio.h>
// 定义结构体表示单个学生的数据
typedef struct {
int score;
} Student;
// 函数声明
void calculateStats(int* scores, int numStudents, int passingScore);
int main() {
// 示例数组,你可以替换为实际读取的输入
int scores[] = {85, 90, 78, 92, 88};
int numStudents = sizeof(scores) / sizeof(scores[0]);
int passingScore = 80; // 及格分数线
calculateStats(scores, numStudents, passingScore);
return 0;
}
// 统计函数
void calculateStats(int* scores, int numStudents, int passingScore) {
if (numStudents <= 0) {
printf("错误:没有学生数据\n");
return;
}
// 初始化变量
int maxScore = scores[0], minScore = scores[0];
float sum = 0.0, average = 0.0;
int passedCount = 0;
// 计算最高分、最低分和总和
for (int i = 0; i < numStudents; ++i) {
sum += scores[i];
maxScore = (scores[i] > maxScore) ? scores[i] : maxScore;
minScore = (scores[i] < minScore) ? scores[i] : minScore;
// 判断是否及格
if (scores[i] >= passingScore) {
passedCount++;
}
}
// 计算平均分
average = (float)sum / numStudents;
// 打印结果
printf("最高分:%d\n", maxScore);
printf("最低分:%d\n", minScore);
printf("平均分:%.2f\n", average);
printf("及格率:%.2f%%\n", (passedCount * 100.0) / numStudents);
// 及格率计算可能有小数点,这里四舍五入到两位
}
阅读全文