#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n\n// 定义每个人的信息结构体\ntypedef struct {\n char name[20];\n int age;\n char gender;\n float height;\n} Person;\n\n// 定义链表节点结构体\ntypedef struct Node {\n Person data;\n struct Node* next;\n} Node;\n\n// 插入节点到链表尾部\nvoid insertNode(Node** head, Person data) {\n // 创建新节点\n Node* newNode = (Node*)malloc(sizeof(Node));\n newNode->data = data;\n newNode->next = NULL;\n\n if (head == NULL) {\n // 如果链表为空,将新节点设为头节点\n head = newNode;\n } else {\n // 遍历链表找到最后一个节点\n Node temp = head;\n while (temp->next != NULL) {\n temp = temp->next;\n }\n // 将新节点插入到最后一个节点的后面\n temp->next = newNode;\n }\n}\n\n// 打印链表\nvoid printList(Node head) {\n Node temp = head;\n while (temp != NULL) {\n printf("Name: %s, Age: %d, Gender: %c, Height: %.2f\n", temp->data.name, temp->data.age, temp->data.gender, temp->data.height);\n temp = temp->next;\n }\n}\n\nint main() {\n Node* head = NULL;\n\n // 定义五组数据\n Person person1;\n strcpy(person1.name, "Alice");\n person1.age = 25;\n person1.gender = 'F';\n person1.height = 165.5;\n insertNode(&head, person1);\n\n Person person2;\n strcpy(person2.name, "Bob");\n person2.age = 30;\n person2.gender = 'M';\n person2.height = 175.0;\n insertNode(&head, person2);\n\n Person person3;\n strcpy(person3.name, "Cindy");\n person3.age = 28;\n person3.gender = 'F';\n person3.height = 160.0;\n insertNode(&head, person3);\n\n Person person4;\n strcpy(person4.name, "David");\n person4.age = 35;\n person4.gender = 'M';\n person4.height = 180.5;\n insertNode(&head, person4);\n\n Person person5;\n strcpy(person5.name, "Emily");\n person5.age = 27;\n person5.gender = 'F';\n person5.height = 170.0;\n insertNode(&head, person5);\n\n // 打印链表\n printList(head);\n\n return 0;\n}

C语言链表操作:插入五组人员信息并打印

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

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