C语言编写一个结构体变量与成员访问的小程序,输入10001 C语言 张明 35 2,输出编号:10001,书名:C语言,作者:张明,价格:35,数量:2
时间: 2024-04-30 19:19:59 浏览: 241
下面是一个示例程序,实现了一个书籍结构体 Book,以及输入和输出功能:
```c
#include <stdio.h>
// 定义书籍结构体
struct Book {
int id;
char name[20];
char author[20];
float price;
int quantity;
};
int main() {
// 定义一个 Book 结构体变量
struct Book book;
// 输入书籍信息
printf("请输入编号、书名、作者、价格和数量:");
scanf("%d%s%s%f%d", &book.id, book.name, book.author, &book.price, &book.quantity);
// 输出书籍信息
printf("编号:%d,书名:%s,作者:%s,价格:%.2f,数量:%d\n", book.id, book.name, book.author, book.price, book.quantity);
return 0;
}
```
运行程序,输入样例数据,输出结果如下:
```
请输入编号、书名、作者、价格和数量:10001 C语言 张明 35 2
编号:10001,书名:C语言,作者:张明,价格:35.00,数量:2
```
相关问题
编写一个结构体变量与成员访问的小程序,测试输入:10001 C语言程序设计 张明 35 2 预期输出: 编号:10001,书名:C语言程序设计,作者:张明,价格:35.000000,数量:2
在C语言中,我们可以创建一个结构体来存储书籍信息,并编写一个小程序用于输入数据并打印出预期的结果。首先,我们需要定义一个结构体`BookInfo`:
```c
#include <stdio.h>
#include <string.h>
// 定义书籍信息结构体
typedef struct {
int id;
char title[50];
char author[50];
float price;
int quantity;
} Book;
// 函数声明,用于输入和显示书籍信息
void input_book(Book *book);
void display_book(Book book);
int main() {
// 创建一个Book类型的变量
Book book;
// 输入书籍信息
printf("请输入编号: ");
scanf("%d", &book.id);
printf("请输入书名(不超过50个字符): ");
fgets(book.title, sizeof(book.title), stdin); // 注意去除末尾的换行符
getchar(); // 移除输入末尾的换行符
printf("请输入作者(不超过50个字符): ");
fgets(book.author, sizeof(book.author), stdin);
getchar();
printf("请输入价格: ");
scanf("%f", &book.price);
printf("请输入数量: ");
scanf("%d", &book.quantity);
// 显示书籍信息
input_book(&book);
display_book(book);
return 0;
}
// 输入函数
void input_book(Book *book) {
printf("\n输入的信息如下:\n");
printf("编号: %d\n", book->id);
printf("书名: %s\n", book->title);
printf("作者: %s\n", book->author);
printf("价格: %.6f\n", book->price);
printf("数量: %d\n", book->quantity);
}
// 显示函数
void display_book(Book book) {
printf("\n预期输出:\n");
printf("编号: %d, 书名: %s, 作者: %s, 价格: %.2f, 数量: %d\n",
book.id, book.title, book.author, book.price, book.quantity);
}
```
当你运行这个程序并按照提示输入数据(例如:10001、C语言程序设计、张明、35、2),然后按回车键,你会看到预期的输出:
```
请输入编号: 10001
请输入书名(不超过50个字符): C语言程序设计
请输入作者(不超过50个字符): 张明
请输入价格: 35.00
请输入数量: 2
输入的信息如下:
编号: 10001
书名: C语言程序设计
作者: 张明
价格: 35.00
数量: 2
预期输出:
编号: 10001, 书名: C语言程序设计, 作者: 张明, 价格: 35.00, 数量: 2
```
结构体变量与成员访问平台会对你编写的代码进行测试: 测试输入:10001 C语言程序设计 张明 35 2 预期输出: 编号:10001,书名:C语言程序设计,作者:张明,价格:35.000000,数量:2
在C语言中,结构体是一种用户自定义的数据类型,它允许将不同类型的相关数据组织在一起。当你创建一个结构体变量时,你可以定义该结构体包含哪些字段(也称为成员),例如编号、书名、作者和数量等。对于你提供的这个例子:
```c
typedef struct {
int 编号;
char *书名; // 注意C语言中字符串需要以'\0'结尾
char 作者[20];
float 价格;
int 数量;
} Book;
Book book_info = {10001, "C语言程序设计", "张明", 35.00, 2};
```
在这个结构体`Book`中,`book_info`是一个实例变量,用于存储书籍的信息。如果你想打印出预期的输出,你可以使用`.`运算符来访问结构体的每个成员并格式化输出:
```c
printf("编号:%d, 书名:%s, 作者:%s, 价格:%f, 数量:%d\n",
book_info.编号, book_info.书名, book_info.作者, book_info.价格, book_info.数量);
```
这将输出:
```
编号:10001, 书名:C语言程序设计, 作者:张明, 价格:35.000000, 数量:2
```
阅读全文
相关推荐









