用c语言简化的插入排序,输入一个正整数 n(0<n<9)和 n 个从大到小排好顺序的整数,再输入一个整数 x,把 x 插入到这组数据中,使该组数据仍然有序。试编写相应程序,自定义函数int insert(int x)函数完成程序功能,由于涉及未学到的参数传递知识点,可以将数组定义为全局变量,main主函数中调用insert函数。插入排序主要参考代码如下,需要修改代码行中的错误,第22行中j--,第23行中a[j+1] = a[j],如果还有其它错误,可以修改并完善程序功能。 #include <stdio.h> int a[20]; int insert(int x); int main() { ……… } int insert(int x) { ……… }
时间: 2023-06-08 21:05:05 浏览: 114
c语言编写的简单排序程序--插入排序
程序如下:
```c
#include <stdio.h>
#define MAX_NUM 10
int a[MAX_NUM] = {9, 8, 7, 6, 5, 4, 3, 2, 1}; // 设定初始数据
int insert(int x);
int main()
{
int n, x;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &x);
insert(x); // 调用自定义函数进行插入操作
for (int i = 0; i <= n; i++) {
printf("%d ", a[i]); // 输出排序后的结果
}
return 0;
}
int insert(int x) // 插入操作
{
int j;
for (j = MAX_NUM - 2; j >= 0 && a[j] > x; j--) {
a[j + 1] = a[j];
}
a[j + 1] = x;
return 0;
}
```
该程序实现了输入一个正整数n和n个从大到小排好顺序的整数,并输入一个整数x,将x插入这组数据中,使该组数据仍然有序的功能。程序通过调用自定义函数insert(int x),将x插入到数组a中,然后再将a数组中的元素输出,将排序后的结果输出。
阅读全文