基于顺序存储结构的图书信息表的创建和输出c语言多种方法
时间: 2023-12-19 22:06:26 浏览: 195
1.基于顺序存储结构的图书信息表的创建和输出 2..基于顺序存储结构的图书信息表的排序 3.基于顺序存储结构的图书信息表的修改
方法一:
定义一个结构体Book,包含图书的名称、作者、出版社和价格等信息,然后使用数组来存储多个Book结构体对象。
示例代码:
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
struct Book {
char name[50];
char author[50];
char publisher[50];
float price;
};
int main() {
struct Book books[MAX_BOOKS];
int n;
printf("请输入图书数量:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d本图书的信息:\n", i + 1);
printf("名称:");
scanf("%s", books[i].name);
printf("作者:");
scanf("%s", books[i].author);
printf("出版社:");
scanf("%s", books[i].publisher);
printf("价格:");
scanf("%f", &books[i].price);
}
printf("图书信息表:\n");
printf("编号\t名称\t作者\t出版社\t价格\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%s\t%s\t%.2f\n", i + 1, books[i].name, books[i].author, books[i].publisher, books[i].price);
}
return 0;
}
方法二:
使用二维数组来存储图书信息,每一行表示一本图书,每一列表示相应的信息。
示例代码:
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
#define MAX_LENGTH 50
int main() {
char books[MAX_BOOKS][4][MAX_LENGTH];
int n;
printf("请输入图书数量:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d本图书的信息:\n", i + 1);
printf("名称:");
scanf("%s", books[i][0]);
printf("作者:");
scanf("%s", books[i][1]);
printf("出版社:");
scanf("%s", books[i][2]);
printf("价格:");
scanf("%s", books[i][3]);
}
printf("图书信息表:\n");
printf("编号\t名称\t作者\t出版社\t价格\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%s\t%s\t%s\n", i + 1, books[i][0], books[i][1], books[i][2], books[i][3]);
}
return 0;
}
方法三:
使用一个一维数组来存储图书信息,每四个元素表示一本图书的信息。
示例代码:
#include <stdio.h>
#include <string.h>
#define MAX_BOOKS 100
#define MAX_LENGTH 50
int main() {
char books[MAX_BOOKS * 4][MAX_LENGTH];
int n;
printf("请输入图书数量:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d本图书的信息:\n", i + 1);
printf("名称:");
scanf("%s", books[i * 4]);
printf("作者:");
scanf("%s", books[i * 4 + 1]);
printf("出版社:");
scanf("%s", books[i * 4 + 2]);
printf("价格:");
scanf("%s", books[i * 4 + 3]);
}
printf("图书信息表:\n");
printf("编号\t名称\t作者\t出版社\t价格\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%s\t%s\t%s\n", i + 1, books[i * 4], books[i * 4 + 1], books[i * 4 + 2], books[i * 4 + 3]);
}
return 0;
}
阅读全文