用c语言创建一个空线性表,要求由客户输入数据
时间: 2024-02-23 17:02:52 浏览: 28
以下是用C语言实现创建一个空线性表,并由客户输入数据的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100 // 线性表的最大长度
// 线性表结构体
typedef struct {
int data[MAX_SIZE]; // 存储数据的数组
int length; // 线性表的长度
} List;
// 初始化线性表
void initList(List *list) {
list->length = 0; // 将线性表的长度初始化为0
}
// 插入数据到线性表中
void insertList(List *list, int data) {
if (list->length >= MAX_SIZE) { // 判断线性表是否已满
printf("List is full, cannot insert data.\n");
return;
}
list->data[list->length] = data; // 将数据插入到线性表中
list->length++; // 线性表的长度加1
}
int main() {
int n; // 数据的数量
List list; // 线性表
initList(&list); // 初始化线性表
printf("Please input the number of data: ");
scanf("%d", &n); // 输入数据的数量
printf("Please input the data: ");
for (int i = 0; i < n; i++) {
int data;
scanf("%d", &data); // 输入数据
insertList(&list, data); // 将数据插入到线性表中
}
printf("The list is: ");
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]); // 输出线性表中的数据
}
printf("\n");
return 0;
}
```
在上述程序中,我们通过定义结构体`List`来表示线性表,结构体中包含一个数组`data`用于存储数据,以及一个整型变量`length`表示线性表的长度。我们通过`initList`函数来初始化线性表,将线性表的长度初始化为0。通过`insertList`函数来插入数据到线性表中。
在主函数中,我们首先输入数据的数量`n`,然后通过循环输入`n`个数据并将其插入到线性表中。最后,我们输出线性表中的数据。