结构体作业/编程题/2.结构体数组的使用 【问题描述】编写程序实现下表中数据的存储与输出,结构体类型参照下表结构定义,而后在结构体数组中存储表中内容并输出。 书名 作者 价格 库存 C programming Tony 38.5 6 English Amy 43.5 4 5 Computer game Wiya 47 【输入形式】无 【输出形式】每行输出一个数组元素,各项数据之间逗号分开【样例输入】无【样例输出】 CprogrammingTony,38.56
时间: 2023-11-30 14:02:37 浏览: 140
这是一个编程题,需要你编写程序来实现结构体数组的存储和输出。根据题目描述,结构体类型参照下表结构定义如下:
```
struct Book {
char name[20];
char author[20];
float price;
int stock;
};
```
可以看出,每本书有四个属性:书名、作者、价格和库存。接下来,你需要在结构体数组中存储表中内容并输出。可以按照以下步骤进行:
1. 声明一个结构体数组,并初始化数组元素的值。
```
struct Book books[] = {
{"C programming", "Tony", 38.5, 6},
{"English", "Amy", 43.5, 4},
{"5 Computer game", "Wiya", 47, 0}
};
```
2. 使用循环语句遍历结构体数组,输出每个数组元素的值。
```
for (int i = 0; i < sizeof(books) / sizeof(struct Book); i++) {
printf("%s%s,%.2f,%d\n", books[i].name, books[i].author, books[i].price, books[i].stock);
}
```
完整代码如下:
```
#include <stdio.h>
struct Book {
char name[20];
char author[20];
float price;
int stock;
};
int main() {
struct Book books[] = {
{"C programming", "Tony", 38.5, 6},
{"English", "Amy", 43.5, 4},
{"5 Computer game", "Wiya", 47, 0}
};
for (int i = 0; i < sizeof(books) / sizeof(struct Book); i++) {
printf("%s%s,%.2f,%d\n", books[i].name, books[i].author, books[i].price, books[i].stock);
}
return 0;
}
```
输出结果为:
```
C programmingTony,38.50,6
EnglishAmy,43.50,4
5 Computer gameWiya,47.00,0
```
阅读全文