用c语言编写一个一维数组,数组内容为1到10,在编写一个函数inster()往数组中插入某个数,并输出插入后的数组
时间: 2024-09-07 17:05:42 浏览: 40
基于C语言的环形数组的实现.zip
在C语言中,我们可以创建一个一维整型数组,然后定义一个名为`insert`的函数来插入指定数值并保持数组有序。这里是一个简单的例子:
```c
#include <stdio.h>
// 定义数组长度
#define ARRAY_SIZE 10
// 创建并初始化数组
int arr[ARRAY_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 函数声明,带有一个整数作为输入参数
void insert(int num, int arr[], int size);
// 主程序
int main() {
int num_to_insert;
// 请求用户输入要插入的数
printf("请输入要插入的数字: ");
scanf("%d", &num_to_insert);
// 调用insert函数并打印插入后的数组
insert(num_to_insert, arr, ARRAY_SIZE);
// 打印整个数组
printf("插入后数组: \n");
for (int i = 0; i <= ARRAY_SIZE; i++) {
if (i < ARRAY_SIZE) {
printf("%d ", arr[i]);
} else {
printf("\n");
}
}
return 0;
}
// 插入函数
void insert(int num, int arr[], int size) {
if (size >= 0) { // 确保数组索引有效
// 如果数组已满,将最后一个元素替换
if (arr[size - 1] > num) {
arr[size] = arr[size - 1];
arr[size - 1] = num;
} else {
// 否则直接插入
for (int i = size - 1; i >= 0 && arr[i] > num; i--) {
arr[i + 1] = arr[i];
}
arr[i + 1] = num;
}
}
}
```
这个程序首先定义了一个数组`arr`,然后在主函数中获取用户输入的数值并调用`insert`函数。`insert`函数检查要插入的值的位置,如果它应该在数组的末尾,就简单地替换最后一个元素;如果需要插入到中间,会找到适当位置并将后面的元素向右移动。
阅读全文