C语言程序设计-学生成绩记录簿
C语言程序设计 - 学生成绩记录簿
程序功能
此程序的功能是记录学生的成绩,包括学生的姓名、学号和成绩。用户可以输入多个学生的记录,并计算和显示这些记录的平均成绩。
主要步骤
- 定义结构体:用于存储学生的基本信息,包括姓名、学号和成绩。
- 输入数据:允许用户输入学生的姓名、学号和成绩。
- 存储数据:将输入的数据存储到结构体数组中。
- 计算平均成绩:遍历学生记录,计算所有学生成绩的平均值。
- 显示结果:输出每个学生的详细信息以及计算出的平均成绩。
示例代码
c#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
// 定义学生结构体
typedef struct {
char name[50];
int id;
float grade;
} Student;
// 函数声明
void inputStudentData(Student students[], int *count);
void displayStudentData(Student students[], int count);
float calculateAverageGrade(Student students[], int count);
int main() {
Student students[MAX_STUDENTS];
int studentCount = 0;
// 输入学生数据
inputStudentData(students, &studentCount);
// 显示学生数据
displayStudentData(students, studentCount);
// 计算并显示平均成绩
float average = calculateAverageGrade(students, studentCount);
printf("Average Grade: %.2f\n", average);
return 0;
}
// 输入学生数据
void inputStudentData(Student students[], int *count) {
int i;
printf("Enter the number of students: ");
scanf("%d", count);
for (i = 0; i < *count; i++) {
printf("Enter name for student %d: ", i + 1);
scanf("%s", students[i].name);
printf("Enter ID for student %d: ", i + 1);
scanf("%d", &students[i].id);
printf("Enter grade for student %d: ", i + 1);
scanf("%f", &students[i].grade);
}
}
// 显示学生数据
void displayStudentData(Student students[], int count) {
int i;
printf("\nStudent Data:\n");
for (i = 0; i < count; i++) {
printf("Name: %s, ID: %d, Grade: %.2f\n", students[i].name, students[i].id, students[i].grade);
}
}
// 计算平均成绩
float calculateAverageGrade(Student students[], int count) {
float total = 0;
int i;
for (i = 0; i < count; i++) {
total += students[i].grade;
}
return total / count;
}
代码解释
结构体定义:
Student
结构体用于存储每个学生的姓名、学号和成绩。
函数定义:
inputStudentData
:接受用户输入的学生数据,存储到结构体数组中。displayStudentData
:输出所有学生的详细信息。calculateAverageGrade
:计算所有学生成绩的平均值。
主函数
main
:- 调用
inputStudentData
输入数据。 - 调用
displayStudentData
显示数据。 - 调用
calculateAverageGrade
计算并输出平均成绩。
- 调用
关键字
C语言, 学生成绩记录, 结构体, 数据输入, 数据输出, 平均成绩计算