c语言删除结构体个别学生信息
时间: 2023-10-22 17:03:21 浏览: 206
要删除结构体中个别学生的信息,你可以按照以下步骤进行:
1. 首先,你需要定义一个结构体来存储学生的信息,包括姓名、学号、年龄等。
2. 然后,你需要定义一个数组来存储多个学生的信息。
3. 接下来,你可以编写一个函数来删除指定学生的信息。在该函数中,你需要输入要删除的学生的学号,然后遍历数组,找到该学生的位置,最后将其从数组中删除。
4. 在主函数中,你可以调用该函数来删除指定学生的信息。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[20];
int id;
int age;
};
void delete_student(struct student arr[], int n, int id) {
int i, j;
for (i = 0; i < n; i++) {
if (arr[i].id == id) {
for (j = i; j < n - 1; j++) {
arr[j] = arr[j + 1];
}
break;
}
}
printf("Student with ID %d has been deleted.\n", id);
}
int main() {
struct student arr[5] = {
{"Tom", 1001, 18},
{"Jerry", 1002, 19},
{"Alice", 1003, 20},
{"Bob", 1004, 21},
{"Marry", 1005, 22}
};
int n = 5; // 数组长度
int id = 1003; // 要删除的学生的学号
delete_student(arr, n, id);
// 打印删除后的学生信息
for (int i = 0; i < n - 1; i++) {
printf("Name: %s, ID: %d, Age: %d\n", arr[i].name, arr[i].id, arr[i].age);
}
return 0;
}
```
在上面的示例代码中,我们首先定义了一个结构体 `student`,用于存储学生的信息。然后,我们定义了一个包含多个学生信息的数组 `arr`,并且初始化了其中的每个元素。
接着,我们实现了一个名为 `delete_student` 的函数,用于删除指定学生的信息。在该函数中,我们输入了要删除的学生的学号 `id`,然后遍历数组 `arr`,找到该学生所在的位置 `i`,最后将其从数组中删除。
在主函数中,我们调用了 `delete_student` 函数来删除学号为 `1003` 的学生信息。最后,我们打印了删除后的学生信息,以验证删除操作是否成功。
阅读全文