使用c语言写一段程序,用户输入一串数字,创建一个顺序存储的线性表
时间: 2024-05-11 10:15:34 浏览: 10
好的,以下是使用C语言编写的程序,可以创建一个顺序存储的线性表,用户可以输入一串数字:
```c
#include <stdio.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);
printf("请输入%d个整数:", n);
for(i=0; i<n; i++){
scanf("%d", &L.data[i]); // 逐个输入元素
}
L.length = n; // 设置线性表的长度
printf("您输入的线性表为:\n");
for(i=0; i<L.length; i++){
printf("%d ", L.data[i]); // 逐个输出元素
}
printf("\n");
return 0;
}
```
希望这个程序能够帮到你!如果你还有其它问题,可以继续问我。
相关问题
用c语言写一段程序,用户输入一串数字,创建一个链式存储线性表
好的,以下是用 C 语言编写的程序,可以实现用户输入一串数字并创建一个链式存储的线性表:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data; // 存放数据
struct node* next; // 指向下一个节点
} Node, *ListNode;
int main() {
ListNode head = NULL, tail = NULL; // 定义头指针和尾指针
int num;
printf("请输入一串数字,以 -1 结束:\n");
scanf("%d", &num);
// 循环读取用户输入的数字,创建节点,并加入链式存储线性表
while (num != -1) {
ListNode newNode = (ListNode)malloc(sizeof(Node));
newNode->data = num;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
tail = newNode;
} else {
tail->next = newNode;
tail = newNode;
}
scanf("%d", &num);
}
// 遍历链式存储线性表,打印出所有节点的数据
printf("链式存储线性表中的数据为:");
ListNode p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
// 释放所有节点的内存空间
p = head;
while (p != NULL) {
ListNode q = p;
p = p->next;
free(q);
}
return 0;
}
```
希望能够解决您的问题。如果还有其它问题,欢迎提出。
使用c语言写一个函数,用户输入一串数字,创建一个顺序存储的线性表
好的,这是一个关于编程的问题。可以使用C语言中的结构体来定义线性表,再使用动态内存分配来实现。以下是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int length;
} List;
List* createList(int arr[], int n) {
List* list = (List*)malloc(sizeof(List));
for (int i = 0; i < n; i++) {
list->data[i] = arr[i];
}
list->length = n;
return list;
}
void printList(List* list) {
for (int i = 0; i < list->length; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
List* list = createList(arr, 10);
printList(list);
return 0;
}
```
这个程序会创建一个包含10个数字的线性表,并输出表中的所有元素。当然,你可以根据自己的需要修改代码。