写一段代码,创建一个顺序列表SeqList的实例,并使用while循环从用户那里接收输入,直到输入-1为止。在这个过程中,每个输入的整数将作为新元素添加到列表的末尾。
时间: 2024-09-22 07:07:23 浏览: 19
下面是一个简单的 C 语言示例,用于创建一个顺序列表(SeqList),并使用 while 循环从用户获取输入,直到输入 -1:
```c
#include <stdio.h>
#include <stdlib.h>
typedef int datatype;
#define MAXLEN 10
typedef struct {
datatype data[MAXLEN];
int last;
} SeqList;
SeqList* CreatSeqList() {
SeqList* L = (SeqList*)malloc(sizeof(SeqList));
if (!L) {
printf("Memory allocation failed.\n");
exit(1);
}
L->last = -1;
return L;
}
void appendToSeqList(SeqList* L, datatype value) {
if (L->last >= MAXLEN - 1) {
printf("The list is full, can't add more elements.\n");
return;
}
L->data[++L->last] = value;
}
int main() {
SeqList* L = CreatSeqList();
int input;
while (1) {
printf("Enter an integer (-1 to stop): ");
scanf("%d", &input);
if (input == -1) break; // 输入-1时跳出循环
appendToSeqList(L, input);
}
ShowSeqList(L); // 这里假设 ShowSeqList 函数已经存在,用于显示列表
free(L); // 释放动态分配的内存
return 0;
}
```
这段代码首先创建了一个顺序列表,然后通过 while 循环不断询问用户输入。当用户输入 -1 时,程序结束输入。每次输入都会调用 `appendToSeqList` 函数将数字添加到列表末尾。在主函数结束后,记得释放之前分配的内存。