用C语言解决以下问题:在main0函数中,已有一个已排好序的整型数组,今输入一个整数,调用函数fun()其功能是按原来排序的规律将它插入数组中
时间: 2023-06-16 19:07:59 浏览: 159
C语言程序设计-从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息;
5星 · 资源好评率100%
以下是用C语言解决该问题的代码:
```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];
}
arr[i] = x;
break;
}
}
if (i == n) {
arr[i] = x;
}
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int n = sizeof(arr) / sizeof(arr[0]);
int x;
printf("请输入一个整数:");
scanf("%d", &x);
fun(arr, n, x);
printf("插入后的数组为:");
for (int i = 0; i < n+1; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该程序中,`fun()`函数的作用是按照原来排序的规律将整数x插入到已排好序的数组中。具体实现方法是:从数组的第一个元素开始遍历,如果找到一个比x大的元素,就把x插入到这个元素的位置上,并且把后面的元素都往后移动一个位置;如果遍历完整个数组还没有找到比x大的元素,就把x插入到数组的最后一个位置上。
在`main()`函数中,我们首先定义了一个已排好序的整型数组`arr[]`,然后输入一个整数x,调用`fun()`函数将x插入到数组中,并输出插入后的整个数组。
阅读全文