2201_75587619 2022-12-09 20:12 采纳率: 50%
浏览 17
已结题

dve-c++怎么自定义函数插入一个数并排序

调用函数实现对数组元素的插入并排序输出

```c++
#include<stdio.h>
int  inssort (int a[], int n) 
{
    int i, j, temp;
    for (i = 1; i < n; i++)
    {
        if (a[i] < a[i - 1])
        {
            temp = a[i];
            for (j = i - 1; j > 0 && a[j] > temp; -- j)
            {
                a[j + 1] = a[j];
            }
            a[j + 1] = temp; 
        }
    }
}

int main()
{ int a,i,b[a];
  printf("输入数组中的元素个数:");
   scanf("%d",&a);
    printf("输入数组中的元素:");
  for(i=0;i<a;i++)
     scanf("%d",&b[i]);
  printf("输入一个要插入的数:");
   scanf("%d",&b[i+1]);
  printf("排序之后:%d",inssort);
}

```

  • 写回答

1条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2022-12-09 20:27
    关注

    参考如下:

    #include<stdio.h>
    
    /*
     冒泡排序
     */
    void bubbleSort(int a[],int n)
    {
        int i,j,t,noswap;
        for(i=0;i< n-1; i++)
        {
            noswap=1;
            for(j=n-1;j>i;j--)
                if(a[j-1]>a[j])
                {
                    t=a[j-1];
                    a[j-1]=a[j];
                    a[j]=t;
                    noswap=0;
                }
            if(noswap)    
                break;
        }
    }
    
    int main()
    { 
        int a,i;
        printf("输入数组中的元素个数:");
        scanf("%d",&a);
        int b[a+1];
        printf("输入数组中的元素:");
        
        for(i=0; i < a; i++)
            scanf("%d", &b[i]);
        
        printf("输入一个要插入的数:");
        scanf("%d",&b[a]);
    
        bubbleSort(b, a + 1);
    
        printf("排序之后:");
        for(i=0; i < a + 1; i++)
            printf("%d ", b[i]);
    }
    

    img


    如有帮助,欢迎采纳哈!

    在这里插入图片描述

    本人的开源项目,欢迎star支持下!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月9日