利用结构体数组存储信息,实现学生成绩,姓名,学号的输入,存储和删除
时间: 2024-03-25 18:35:31 浏览: 53
运用结构体数组与输入函数进行存放学生的学号姓名等数据
4星 · 用户满意度95%
好的,我可以帮你解决这个问题。首先,我们可以定义一个结构体来存储学生的信息,包括姓名、学号和成绩:
```c
struct student {
char name[20];
int id;
float score;
};
```
接下来,我们可以定义一个结构体数组来存储多个学生的信息:
```c
struct student stu[100];
int count = 0; // 记录学生数量
```
在输入学生信息时,可以使用循环来不断输入多个学生的信息,并将其保存到结构体数组中:
```c
while (1) {
printf("请输入学生姓名(输入0结束):");
scanf("%s", stu[count].name);
if (strcmp(stu[count].name, "0") == 0) {
break;
}
printf("请输入学生学号:");
scanf("%d", &stu[count].id);
printf("请输入学生成绩:");
scanf("%f", &stu[count].score);
count++;
}
```
在删除学生信息时,可以根据学号来查找需要删除的学生,并将其后面的学生依次向前移动一位:
```c
int del_id;
printf("请输入要删除的学生学号:");
scanf("%d", &del_id);
for (int i = 0; i < count; i++) {
if (stu[i].id == del_id) {
for (int j = i; j < count - 1; j++) {
stu[j] = stu[j + 1];
}
count--;
printf("删除成功!\n");
break;
}
}
```
完整代码如下:
阅读全文