c语言程序定义一个结构体,其中包括性别,年龄,姓名,学号,成绩。按结构体类型定义一个结构体数组,从键盘输入每个结构体元素所需的数据,然后逐个输出这些元素(可设数组只有三个元素)
时间: 2025-02-10 12:15:29 浏览: 57
在 C 语言中,你可以按照以下步骤定义一个结构体,包含性别、年龄、姓名、学号和成绩,并创建一个结构体数组:
首先,定义一个名为 `Student` 的结构体:
```c
#include <stdio.h>
#include <string.h>
// 定义结构体
struct Student {
char gender; // 性别
int age; // 年龄
char name[50]; // 姓名
unsigned long long id; // 学号
float score; // 成绩
};
```
接下来,定义并初始化一个大小为3的结构体数组:
```c
int main() {
struct Student students[3] = {
{'M', 20, "张三", 1234567890123456LL, 85.5},
{'F', 22, "李四", 2345678901234567LL, 90.0},
{'M', 19, "王五", 3456789012345678LL, 88.5}
};
```
接着,编写函数用于从键盘输入数据并更新结构体数组:
```c
void inputData(struct Student *students, int size) {
for (int i = 0; i < size; i++) {
printf("请输入第 %d 位学生的性别(M/F): ", i+1);
scanf(" %c", &students[i].gender);
printf("请输入第 %d 位学生的年龄: ", i+1);
scanf("%d", &students[i].age);
printf("请输入第 %d 位学生的姓名: ", i+1);
fgets(students[i].name, sizeof(students[i].name), stdin); // 注意去除多余空格
printf("请输入第 %d 位学生的学号: ", i+1);
scanf("%llu", &students[i].id);
printf("请输入第 %d 位学生的成绩: ", i+1);
scanf("%f", &students[i].score);
}
}
// 输出结构体数组内容
void displayStudents(const struct Student students[], int size) {
for (int i = 0; i < size; i++) {
printf("学生 %d:\n", i+1);
printf("性别: %c\n", students[i].gender);
printf("年龄: %d\n", students[i].age);
printf("姓名: %s\n", students[i].name);
printf("学号: %llu\n", students[i].id);
printf("成绩: %.2f\n", students[i].score);
printf("\n");
}
}
int main() {
inputData(students, 3);
displayStudents(students, 3);
return 0;
}
```
在这个示例中,我们首先定义了一个结构体数组 `students`,然后通过 `inputData` 函数获取用户输入并填充结构体,最后使用 `displayStudents` 函数显示数组中的所有学生信息。
阅读全文
相关推荐


















