注册 登录
编程论坛 C语言论坛

求解c语言冒泡排序

MangoQvQ 发布于 2021-11-14 23:09, 1369 次点击
对一个无序数组int a[N]进行降序排列,输出排列后数组,并求出该数组最大值与最小值;在此基础上向该排列后数组插入一个正整数x,要求插入后的数组仍然是有序的。
2 回复
#2
baolis2021-11-15 00:36
程序代码:
#include "stdio.h"
#include "stdlib.h"
void choose(int a[],int n){
    int i,j,_tp;
    for(i=1;i<n;i++)
    {
        for(j=n-1;j>=i;j--)
        {
            if(a[j]>a[j-1]){
                _tp=a[j];
                a[j]=a[j-1];
                a[j-1]=_tp;
            }
        }
    }
}
void output(int a[],int n){
    int i;
    for(i=0;i<n;i++)
        printf("%3d",a[i]);
}
void main()
{

    int a[1000],n,i,j,num;
    printf("请输入N:");
    scanf("%d",&n);
        for(i=0;i<n;i++){
        scanf("%d",&a[i]);

    }
    choose(a,n);
    output(a,n);
    printf("\n最大值=%d,最小值=%d\n",a[0],a[n-1]);
     printf("请输入一个值:");
    scanf("%d",&num);
    for(i=0;i<n;i++) {
        if (num > a[i]) {
            for (j = n; j >= i; j--) {
                a[j] = a[j - 1];
            }
            a[i] = num;
            break;

        }
    }
     output(a,n+1);
    }
#3
疯哈2021-11-15 09:42

1