采用“结构体变量名.成员名”方式输入一个学生的信息,再采用“(*结构体指针变量名).成员名”方式输出学生的姓名,采用“结构体指针变量名->成员名”方式输出学生的平均分,保留1位小数,姓名和分数之间用全角的冒号
时间: 2024-09-12 09:07:43 浏览: 82
在C语言中,结构体是一种用户定义的数据类型,它允许我们将不同类型的数据项组合成一个单一的复合类型。下面是一个简单的例子,说明如何使用结构体来输入和输出学生信息。
首先定义一个学生信息的结构体:
```c
#include <stdio.h>
// 定义学生信息的结构体
typedef struct {
char name[50];
float average_score;
} Student;
int main() {
Student student1; // 声明一个学生信息的结构体变量
Student *student_ptr = &student1; // 声明一个指向学生信息的结构体指针,并指向student1
// 输入学生信息
printf("请输入学生的姓名:");
scanf("%s", student1.name); // 使用"结构体变量名.成员名"的方式输入姓名
printf("请输入学生的平均分:");
scanf("%f", &student1.average_score); // 输入平均分
// 输出学生姓名
printf("(*结构体指针变量名).成员名方式输出:%s\n", (*student_ptr).name);
// 输出学生平均分,保留1位小数
printf("结构体指针变量名->成员名方式输出:%f\n", student_ptr->average_score);
// 使用printf的格式化功能,保留1位小数
printf("(*结构体指针变量名).成员名方式输出:%0.1f\n", (*student_ptr).average_score);
// 使用结构体指针变量名->成员名方式输出姓名和分数,中间用全角冒号分隔
printf("%*c%s:%0.1f\n", 12, ' ', student_ptr->name, student_ptr->average_score);
return 0;
}
```
在这个例子中,我们首先定义了一个`Student`结构体,包含`name`和`average_score`两个成员。在`main`函数中,我们创建了一个`Student`类型的变量`student1`和一个指向该类型的指针`student_ptr`。通过`student1`我们可以直接访问结构体成员,而通过`student_ptr`我们需要使用`->`运算符。
程序首先提示用户输入学生的姓名和平均分,然后使用不同的方式输出这些信息。在输出平均分时,我们使用了`%f`和`%0.1f`来控制格式,分别输出默认的小数位数和保留一位小数。在最后使用全角冒号输出时,我们通过在`printf`中指定宽度`%*c`,并手动放置一个全角冒号`' '`来实现所需格式。
阅读全文