用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 14:05:05 浏览: 64
程序如下:
```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数组中的元素输出,将排序后的结果输出。
相关问题
c语言输入一个正整数n(1<n≤10),再输入n个整数,将他们从大到小排序后输出
好的,这个问题很简单,我可以回答你。以下是一段可以实现你所要求操作的C语言代码:
```
#include <stdio.h>
int main()
{
int n, i, j, temp;
int arr[10];
//输入n个整数
printf("请输入一个正整数n(1<n<=10): ");
scanf("%d",&n);
printf("请输入%d个整数:\n", n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
//将它们从大到小排序
for(i=0;i<n;i++) {
for(j=i+1;j<n;j++) {
if(arr[i]<arr[j]) {
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
//输出排序后的结果
printf("排序后的结果为:\n");
for(i=0;i<n;i++)
printf("%d ",arr[i]);
return 0;
}
```
希望能够帮到你。
c语言中输入一个正整数n,再输入n个整数,将他们从大到小排序后输出
以下是实现代码:
```
#include <stdio.h>
void sort(int arr[], int n); // 声明排序函数
int main() {
int n, i;
printf("请输入正整数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
sort(arr, n); // 调用排序函数
printf("排序后的结果为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) { // 如果前面的数比后面的数小,则交换位置
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
运行效果如下:
```
请输入正整数n:5
请输入5个整数:
1 3 5 2 4
排序后的结果为:
5 4 3 2 1
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)