用c语言写一个代码,建立含n个数据元素的顺序表并输出该表各元素的值。元素的个数及元素的值由键盘输入,元素类型为整数。
时间: 2024-12-12 10:26:30 浏览: 9
在 C 语言中,我们可以使用数组结构来创建一个动态大小的顺序表,并通过循环遍历数组来输出元素的值。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h> // 包含用于动态内存分配的头文件
#define MAX_SIZE 100 // 定义顺序表的最大容量,可以根据实际需求调整
// 定义顺序表结点结构体
typedef struct {
int value; // 存储整数值
} Node;
// 动态分配顺序表
Node* create_list(int n) {
Node* list = (Node*)malloc(n * sizeof(Node)); // 分配 n 个节点的空间
if (!list) { // 如果分配失败,返回 NULL
printf("Memory allocation failed.\n");
return NULL;
}
for (int i = 0; i < n; i++) {
list[i].value = 0; // 初始化每个元素为0,实际应用中可以改为从用户获取输入
}
return list;
}
// 输出顺序表元素
void print_list(Node* list, int size) {
for (int i = 0; i < size; i++) {
printf("Element %d: %d\n", i + 1, list[i].value);
}
}
int main() {
int n;
printf("Enter the number of elements: ");
scanf("%d", &n);
if (n <= MAX_SIZE) {
Node* my_list = create_list(n); // 创建顺序表
if (my_list) {
print_list(my_list, n); // 输出元素值
free(my_list); // 释放动态分配的内存
} else {
exit(1); // 表示程序出错
}
} else {
printf("The number of elements exceeds the maximum size.\n");
}
return 0;
}
```
在这个代码中,首先用户输入元素的数量,然后创建一个大小为 `n` 的顺序表,将每个元素初始化为0。接着,遍历整个列表并将每个元素的值打印出来。最后,记得在程序结束前释放动态分配的内存。
阅读全文