C语言程序设计:要求包括一个子函数:有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。
时间: 2023-12-01 07:28:14 浏览: 65
有一个已排好序的数组,今输入一个数,要求按排序的规律将它插入数组中。
下面是一个将数插入有序数组的示例程序,其中包括一个名为insertArray的子函数:
```c
#include <stdio.h>
void insertArray(int arr[], int size, int num);
int main() {
int arr[10] = {1, 3, 5, 7, 9};
int size = 5;
int num;
printf("请输入一个数: ");
scanf("%d", &num);
insertArray(arr, size, num);
size++;
printf("插入后的数组为: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void insertArray(int arr[], int size, int num) {
int i, j;
// 找到插入位置
for (i = 0; i < size; i++) {
if (num < arr[i]) {
break;
}
}
// 将插入位置后的元素后移
for (j = size - 1; j >= i; j--) {
arr[j + 1] = arr[j];
}
// 插入元素
arr[i] = num;
}
```
这个程序首先定义了一个已排好序的数组和一个数,然后调用insertArray函数将这个数插入到数组中。insertArray函数的作用是找到插入位置,将插入位置后的元素后移,然后插入元素。最后程序输出插入后的数组。
阅读全文