慕苓茗涵 2021-11-13 14:35 采纳率: 50%
浏览 64
已结题

对一个无序数组int a[N]进行降序排列,输出排列后数组,并求出该数组最大值与最小值;在此基础上向该排列后数组插入一个正整数x,要求插入后的数组仍然是有序的

对一个无序数组int a[N]进行降序排列,输出排列后数组,并求出该数组最大值与最小值;在此基础上向该排列后数组插入一个正整数x,要求插入后的数组仍然是有序的
用c语言怎么做

  • 写回答

1条回答 默认 最新

  • 关注
    
    #include "stdio.h"
    
    #include<stdlib.h>
    
    
    //冒泡排序
    void choose(int a[],int n){
        int i,j,temp;
        for(i=1;i<n;i++)
        {
            for(j=n-1;j>=i;j--)
            {
                if(a[j]>a[j-1]){
                    temp=a[j];
                    a[j]=a[j-1];
                    a[j-1]=temp;
                }
            }    
        }    
    }
    //输出
    void output(int a[],int n){
        int i;
        for(i=0;i<n;i++)
            printf("%d\t",a[i]);    
    }
    void main()
    {
        
        int a[1000];
        int n;
        int i,j;
        int 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);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 已采纳回答 11月14日
  • 创建了问题 11月13日

悬赏问题

  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号