用c语言创建一个空线性表,要求由客户输入数据,并且数据要按递增的顺序存储在表中
时间: 2024-02-24 21:58:28 浏览: 79
好的,下面是按照递增顺序存储数据的顺序线性表的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义线性表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储线性表中的数据
int length; // 记录线性表的长度
} SqList; // 定义顺序表类型
int main() {
SqList L; // 定义顺序表变量
int i, n;
printf("请输入线性表的长度(不超过 %d):", MAXSIZE);
scanf("%d", &n);
if (n < 0 || n > MAXSIZE) {
printf("输入的长度不合法!\n");
exit(0);
}
L.length = n;
printf("请输入 %d 个递增的数据:", n);
scanf("%d", &L.data[0]); // 先让用户输入第一个数据
for (i = 1; i < n; i++) {
scanf("%d", &L.data[i]);
if (L.data[i] < L.data[i - 1]) { // 如果输入的数据不是递增的,就提示用户重新输入
printf("输入的数据不是递增的,请重新输入:");
i--; // i-- 的目的是为了让用户重新输入当前数据
}
}
printf("输入的线性表为:");
for (i = 0; i < n; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
return 0;
}
```
这段代码与前面的代码类似,只是在让用户输入数据的过程中,我们增加了一个判断:如果输入的数据不是递增的,就提示用户重新输入。这样可以保证用户输入的数据按照递增顺序存储在线性表中。
希望这个示例代码能够帮助到你!
阅读全文