📅  最后修改于: 2023-12-03 15:00:13.078000             🧑  作者: Mango
本篇介绍如何使用C语言创建一个简单的程序,以将学生记录存储为结构,并按照学生姓名对它们进行排序。此程序可以被用作学生管理系统的一部分,或以其他方式应用。
本项目的主要功能是:
为了实现这个程序,需要创建一个名为"student.h"的头文件,并在该文件中定义学生结构。结构将包括学生姓名、年龄和成绩等信息。
/* student.h */
struct student {
char name[50];
int age;
float grade;
};
接下来,在"main.c"文件中定义主函数。主函数将包括以下步骤:
/* main.c */
#include <stdio.h>
#include <string.h>
#include "student.h"
void sort(struct student *, int);
void main(void) {
struct student students[100];
int n, i;
printf("Enter the number of students: ");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("Enter information for student %d:\n", i+1);
printf("Enter name: ");
scanf("%s", students[i].name);
printf("Enter age: ");
scanf("%d", &students[i].age);
printf("Enter grade: ");
scanf("%f", &students[i].grade);
}
sort(students, n);
printf("\nStudent Details:\n\n");
for (i = 0; i < n; i++)
printf("Name: %s\nAge: %d\nGrade: %.2f\n\n", students[i].name, students[i].age, students[i].grade);
}
void sort(struct student *s, int n) {
int i, j;
struct student temp;
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(s[i].name, s[j].name) > 0) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
}
排序函数sort()使用冒泡排序法,按名称对结构体数组进行排序。最后,在主函数中,循环遍历结构体数组以输出排好序的学生信息。
根据输入的学生信息,程序将以名称排序的方式输出这些信息。例如:
Enter the number of students: 3 Enter information for student 1: Enter name: Alex Enter age: 19 Enter grade: 90 Enter information for student 2: Enter name: Bob Enter age: 20 Enter grade: 85 Enter information for student 3: Enter name: Charles Enter age: 18 Enter grade: 95
Student Details:
Name: Alex Age: 19 Grade: 90.00
Name: Bob Age: 20 Grade: 85.00
Name: Charles Age: 18 Grade: 95.00
本项目介绍了如何使用C语言创建一个简单的程序,以将学生记录存储为结构,并按照学生姓名对它们进行排序。通过构建一个这样的学生管理系统,可以简单地维护和操作学生信息。