利用 C 语言当中的结构体知识,建立学生结构体 Stu,对应的属性有 name(姓名),id(学号),score(分数)。请为这些属性分配好合适的数据 类型,并定义一个能容纳 50 个的 Stu 结构体数组。
时间: 2024-02-18 08:04:48 浏览: 30
好的,我明白了你的问题。以下是我给出的 C 语言代码:
```c
#include <stdio.h>
// 定义结构体 Stu
struct Stu {
char name[20]; // 姓名,类型为 char 数组
int id; // 学号,类型为 int
float score; // 分数,类型为 float
};
int main() {
// 定义一个能容纳 50 个 Stu 结构体的数组
struct Stu stu_arr[50];
// 对数组中的结构体进行赋值
for (int i = 0; i < 50; i++) {
sprintf(stu_arr[i].name, "student%d", i+1); // 给姓名赋值,例如 "student1"
stu_arr[i].id = i+1; // 给学号赋值,从 1 开始
stu_arr[i].score = 60 + i; // 给分数赋值,从 60 开始,每个学生加 1 分
}
// 打印数组中的结构体信息
for (int i = 0; i < 50; i++) {
printf("name: %s, id: %d, score: %.1f\n", stu_arr[i].name, stu_arr[i].id, stu_arr[i].score);
}
return 0;
}
```
这段代码定义了一个名为 `Stu` 的结构体,包含了三个属性:`name`(姓名)、`id`(学号)和 `score`(分数)。其中,姓名使用了 `char` 类型的数组,因为姓名可能是一个字符串,需要存储多个字符;学号使用了 `int` 类型,因为学号是一个整数;分数使用了 `float` 类型,因为分数可能是一个小数。
接着,代码定义了一个能容纳 50 个 `Stu` 结构体的数组 `stu_arr`,并对数组中的每个结构体进行了赋值,其中姓名为 `student1` 到 `student50`,学号为 1 到 50,分数为 60 到 109。
最后,代码打印了数组中的每个结构体的信息,包括姓名、学号和分数。