编写函数insert(),从键盘输入一个数,按原来排序的规律将它插入数组中,假设原数组为3、6、9、13、34、56、78,输入的数为25。要求输出数组元素用函数output实现。 待插入元素由键盘输入
时间: 2024-03-12 11:43:48 浏览: 28
好的,下面是代码实现:
```c
#include <stdio.h>
#define MAXSIZE 100
int a[MAXSIZE] = {3, 6, 9, 13, 34, 56, 78}; // 原数组
int n = 7; // 原数组中元素的个数
void output() {
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
void insert(int num) {
int i = n - 1; // 从数组的最后一个元素开始往前比较
while (i >= 0 && a[i] > num) { // 如果当前元素比待插入元素大,则将该元素后移一位
a[i+1] = a[i];
i--;
}
a[i+1] = num; // 将待插入元素插入到正确的位置
n++; // 元素个数加一
}
int main() {
int num;
printf("请输入待插入的数字:");
scanf("%d", &num);
insert(num);
printf("插入后的数组为:");
output();
return 0;
}
```
输入数字25后,输出结果为:
```
插入后的数组为:3 6 9 13 25 34 56 78
```
阅读全文