有一个结构体变量 stu,含有学号、姓名、性别和成绩4个成员,要求在main函数中输入结构体变量成员的数值,在另一个print函数中输出结构体变量成员的数值。(使用c语言,必须严格定义数据类型和声明函数)
时间: 2024-12-23 22:14:26 浏览: 24
在C语言中,你可以按照以下步骤定义一个结构体`stu`,并在`main`函数中输入其成员值,并在单独的`print_stu`函数中输出:
```c
#include <stdio.h>
// 定义结构体类型
typedef struct {
int id; // 学号
char name[50]; // 姓名
char gender; // 性别 (假设只用大写字母表示)
float score; // 成绩
} Student;
// 函数声明,用于输入结构体变量的成员值
void input_stu(Student *stu);
// 函数声明,用于打印结构体变量的成员值
void print_stu(const Student *stu);
int main() {
// 创建结构体变量实例
Student stu;
// 调用输入函数获取用户输入
input_stu(&stu);
// 调用打印函数显示结果
print_stu(&stu);
return 0;
}
// 输入函数,接收指针并赋值给结构体成员
void input_stu(Student *stu) {
printf("请输入学号:");
scanf("%d", &stu->id);
printf("请输入姓名:");
fgets(stu->name, sizeof(stu->name), stdin); // 注意处理换行符
printf("请输入性别(M/F):");
scanf(" %c", &stu->gender);
printf("请输入成绩:");
scanf("%f", &stu->score);
}
// 打印函数,接收指针并输出结构体成员
void print_stu(const Student *stu) {
printf("学号:%d, 姓名:%s, 性别:%c, 成绩:%f\n",
stu->id, stu->name, stu->gender, stu->score);
}
```
在这个示例中,我们定义了一个名为`Student`的结构体,然后分别创建了`input_stu`和`print_stu`两个函数。在`main`函数中,先创建`stu`结构体实例,然后调用这两个函数完成数据的输入和输出。
阅读全文