用c语言编写一个任意一维数组,数组至少十个整数元素,在编写一个函数inster()往数组中插入某个数,并输出插入后的数组
时间: 2024-09-07 09:05:42 浏览: 43
在C语言中,你可以创建一个动态的一维数组并实现一个`insert()`函数来完成这个任务。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 动态分配数组
#define ARRAY_SIZE 10
// 插入函数
void insert(int *arr, int n, int value) {
// 如果数组已满,先扩展数组容量
if (n == ARRAY_SIZE - 1) {
arr = realloc(arr, sizeof(int) * 2 * ARRAY_SIZE);
if (arr == NULL) {
printf("内存分配失败!\n");
return;
}
n *= 2; // 更新数组长度
}
// 将值插入到数组末尾
arr[n] = value;
// 输出插入后的数组
for (int i = 0; i <= n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[ARRAY_SIZE]; // 初始化数组
int length = 0;
int num_to_insert;
// 初始化数组
for (int i = 0; i < ARRAY_SIZE && length < ARRAY_SIZE; i++) {
scanf("%d", &arr[length]);
length++;
}
// 提示用户输入要插入的数值
printf("请输入要插入的整数:");
scanf("%d", &num_to_insert);
// 调用insert函数插入数值
insert(arr, length, num_to_insert);
return 0;
}
```
在这个例子中,我们首先定义了一个固定的大小数组`arr`,然后在`main`函数中通过循环读取用户输入填充部分数组。当需要插入更多的元素时,如果数组已满,我们会动态扩大数组空间。接着在`insert`函数中将新值插入数组并打印更新后的数组内容。
注意,这个程序没有处理输入错误的情况,实际使用时可能需要添加适当的错误检查。
阅读全文