用c语言设计编程:统计全班50名同学的平均成绩最好成绩以及最差成绩成绩由键盘输入
时间: 2024-11-13 20:26:20 浏览: 35
C语言程序设计课程设计——某科学的成绩管理系统.rar
在C语言中,设计这样一个程序需要先定义结构体来存储每个学生的姓名和成绩,然后创建数组来存储全班同学的信息。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义学生结构体
typedef struct {
char name[20];
int score;
} Student;
void inputStudents(Student students[], int numStudents); // 输入函数
double calculateAverage(const Student students[], int numStudents); // 平均分计算函数
int findMaxScore(const Student students[], int numStudents); // 最高分查找函数
int findMinScore(const Student students[], int numStudents); // 最低分查找函数
int main() {
int numStudents = 50; // 全班人数
Student students[numStudents]; // 学生数组
// 从键盘输入学生信息
inputStudents(students, numStudents);
// 计算平均分、最高分和最低分
double average = calculateAverage(students, numStudents);
int maxScore = findMaxScore(students, numStudents);
int minScore = findMinScore(students, numStudents);
printf("班级平均成绩: %.2f\n", average);
printf("最高分: %d\n", maxScore);
printf("最低分: %d\n", minScore);
return 0;
}
// 输入学生信息
void inputStudents(Student students[], int numStudents) {
for (int i = 0; i < numStudents; ++i) {
printf("请输入第%d位同学的成绩和名字(用空格隔开): ", i + 1);
scanf("%s %d", students[i].name, &students[i].score);
}
}
// 计算平均分
double calculateAverage(const Student students[], int numStudents) {
double total = 0;
for (int i = 0; i < numStudents; ++i)
total += students[i].score;
return total / numStudents;
}
// 查找最高分
int findMaxScore(const Student students[], int numStudents) {
int max = students[0].score;
for (int i = 1; i < numStudents; ++i)
if (students[i].score > max)
max = students[i].score;
return max;
}
// 查找最低分
int findMinScore(const Student students[], int numStudents) {
int min = students[0].score;
for (int i = 1; i < numStudents; ++i)
if (students[i].score < min)
min = students[i].score;
return min;
}
```
运行这个程序后,用户可以逐个输入50名学生的成绩和名字,程序会自动计算并显示平均分、最高分和最低分。
阅读全文