用c语言编写:在main(函数中,已有一个已排好序的整型数组,今输入一个整数,调用函数fun() 其功能是按原来排序的规律将它插入数组中。例如:原来数组的元素依次为4、6、8、41、56、77 102。若将42插入数组中,
时间: 2023-06-14 11:07:20 浏览: 31
以下是用C语言编写的插入函数fun()的实现:
```c
#include <stdio.h>
void fun(int arr[], int n, int x) {
int i, j;
for(i = 0; i < n; i++) {
if(x < arr[i]) {
for(j = n - 1; j >= i; j--)
arr[j + 1] = arr[j]; //将大于x的元素后移
arr[i] = x; //插入x
break;
}
}
if(i == n) //x比数组中所有元素都大,直接插入到最后
arr[i] = x;
}
int main() {
int arr[] = {4, 6, 8, 41, 56, 77, 102};
int n = sizeof(arr) / sizeof(int);
int x;
printf("请输入要插入的整数:");
scanf("%d", &x);
fun(arr, n, x);
printf("插入后的数组为:");
for(int i = 0; i < n + 1; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
```
其中,fun()函数用于插入元素x,arr[]为已排好序的数组,n为数组长度。首先遍历数组,找到第一个大于x的元素的位置i,然后将i及其之后的元素都向后移动一位,最后将x插入到位置i。如果x比数组中所有元素都大,则直接将x插入到最后。在main()函数中,先输入要插入的整数,然后调用fun()函数将其插入到数组中,最后输出插入后的数组。
相关推荐


















