顺序表手动输入 c语言
时间: 2023-10-22 07:04:28 浏览: 91
顺序表是一种线性表的存储结构,用一段连续的存储单元依次存储线性表的数据元素。在C语言中,可以通过手动输入的方式构建顺序表。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100 // 顺序表的最大长度
typedef struct {
int num; // 图书号码
char bookName[50]; // 图书名称
double bookPrice; // 图书价格
} Book;
typedef struct {
Book arr[MAX_SIZE]; // 存储空间的数组
int length; // 顺序表中当前元素的个数
} SeqList;
// 初始化顺序表
void initList(SeqList *list) {
list->length = 0;
}
// 向顺序表中添加元素
void addElement(SeqList *list, int num, char *name, double price) {
if (list->length >= MAX_SIZE) {
printf("顺序表已满,无法添加元素。\n");
return;
}
Book book;
book.num = num;
strcpy(book.bookName, name);
book.bookPrice = price;
list->arr[list->length] = book;
list->length++;
}
// 手动输入顺序表
void inputList(SeqList *list) {
int num;
char name[50];
double price;
printf("请输入要添加的书籍信息:\n");
printf("图书号码:");
scanf("%d", &num);
printf("图书名称:");
scanf("%s", name);
printf("图书价格:");
scanf("%lf", &price);
addElement(list, num, name, price);
}
// 打印顺序表
void printList(SeqList list) {
printf("顺序表内容如下:\n");
for (int i = 0; i < list.length; i++) {
printf("%d. 图书号码:%d,图书名称:%s,图书价格:%.2lf\n", i + 1, list.arr[i].num, list.arr[i].bookName, list.arr[i].bookPrice);
}
}
int main() {
SeqList list;
initList(&list);
inputList(&list);
printList(list);
return 0;
}
```
阅读全文