C语言 建立一个动态数组,输入5个学生的信息,包括姓名,学号,成绩三个属性,将成绩小于60分的学生信息输出
时间: 2024-09-26 07:11:04 浏览: 50
在C语言中建立一个动态数组来存储学生的数据,并实现这个功能,可以采用结构体定义学生信息、动态内存分配以及遍历数组来查找并输出成绩小于60分的学生。以下是步骤:
首先,定义一个学生结构体(struct):
```c
typedef struct {
char name[50]; // 姓名
int student_id; // 学号
float score; // 成绩
} Student;
```
然后,创建动态数组并输入5个学生的信息:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
// 动态分配数组空间
int num_students = 5;
Student* students = (Student*)malloc(num_students * sizeof(Student));
// 输入学生信息
for (int i = 0; i < num_students; i++) {
printf("请输入第%d个学生的姓名(不超过49字符):", i + 1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 排除换行符
printf("请输入第%d个学生的学号:", i + 1);
scanf("%d", &students[i].student_id);
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", &students[i].score);
}
// 查找并输出成绩小于60分的学生
printf("\n成绩小于60分的学生信息如下:\n");
for (int i = 0; i < num_students; i++) {
if (students[i].score < 60) {
printf("姓名:%s, 学号:%d, 成绩:%.1f\n", students[i].name, students[i].student_id, students[i].score);
}
}
// 释放动态内存
free(students);
return 0;
}
```
阅读全文