#include <stdio.h> #include <stdlib.h>

// 定义学生结构体 typedef struct Student { int id; char name[20]; struct Student* next; } Student;

// 录入学生信息函数 void inputStudentInfo(Student** head) { int id; char name[20];

printf("请输入学生的学号:");
scanf("%d", &id);
printf("请输入学生的姓名:");
scanf("%s", name);

// 创建新的学生节点
Student* newStudent = (Student*)malloc(sizeof(Student));
newStudent->id = id;
strcpy(newStudent->name, name);
newStudent->next = NULL;

if (*head == NULL) {
    // 如果链表为空,将新节点设为头节点
    *head = newStudent;
} else {
    // 找到链表的最后一个节点,并将新节点插入到最后
    Student* temp = *head;
    while (temp->next != NULL) {
        temp = temp->next;
    }
    temp->next = newStudent;
}

printf("学生信息录入成功!\n");

}

// 打印学生信息函数 void printStudentInfo(Student* head) { if (head == NULL) { printf("链表为空!\n"); return; }

printf("学生信息如下:\n");
printf("学号\t姓名\n");

Student* temp = head;
while (temp != NULL) {
    printf("%d\t%s\n", temp->id, temp->name);
    temp = temp->next;
}

}

int main() { Student* head = NULL; int choice;

while (1) {
    printf("\n1. 录入学生信息\n");
    printf("2. 打印学生信息\n");
    printf("3. 退出\n");
    printf("请选择操作:");
    scanf("%d", &choice);
    
    switch (choice) {
        case 1:
            inputStudentInfo(&head);
            break;
        case 2:
            printStudentInfo(head);
            break;
        case 3:
            printf("程序已退出!\n");
            return 0;
        default:
            printf("无效的操作!\n");
            break;
    }
}

}


原文地址: https://www.cveoy.top/t/topic/piqC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录