yuitsu 2021-10-14 16:59 采纳率: 90%
浏览 25
已结题

数组中插入一个数,请问哪错了

题目描述:
给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序
输入:
多组测试,每组第一行输入一个整数n,然后是n个有序的整数 第二行输入1个整数m和1个整数K
输出:
将整数m插入到原数组中保持顺序是升序,然后输出2行 第一行是插入以后的数组 第二行是插入以后的数组中下标值是K的数 n m k不超过20


#include<stdio.h>
#include<math.h>
int main()
{
    int n,i,j,a[20],min=0,k;
    int t=0;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);}
        int m,k;
        scanf("%d%d",&m,&k);

        for(j=0;j<n-1;j++){             //冒泡法排序
            for(i=0;i<n-1-j;i++){
                if(a[i+1]<a[i]) {
                    t=a[i];
                    a[i]=a[i+1];
                    a[i+1]=t;
                }
            }
        }

        for(i=0;i<n;i++) {              //插入m
                if(a[i]>m){
                    k=i;
              for(i=n-1;i<=k;i--){
                a[i+1]=a[i];
                a[k]=m;
              }
            }
        }


            for(i=0;i<n;i++)
            printf("%d ",a[i]);
            printf("%d\n",a[n]);

            printf("%d\n",a[k]);
    }

    return 0;
}

  • 写回答

2条回答 默认 最新

  • gs0038 2021-10-14 17:39
    关注

    根据 给定有序数组(从小到大) n m k不超过20
    你直接定义数组 a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

    
     
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n,i,j, min=0,k;
        int t=0;
        int a[21]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21};//多开一个空间来存放插入的数
       do{
        printf("请输入一个整数n(不超过20):");
        scanf("%d",&n);
       }while(n<=20);
    do{
        printf("请输入1个整数m和1个整数K(不超过20):");
        scanf("%d%d",&m,&k);
       }while(m<=20&&k<=20);
    
         for(i=0;i<n;i++){
           if(a[i]>m){//找到比输入的m还要大的位置
             break;
           }
        }
        for(j=19;j>=i;j--){ //后面的数据后移
            a[j+1]=a[j];
        }
       a[i]=m;//后移动之后i的位置就放入m
       for(i=0;i<n;i++)
                printf("%d ",a[i]); //输出第一行是插入以后的数组
       printf("\n%d ",a[k]);//输出第二行是插入以后的数组中下标值是K的数
        }
        return 0;
    }
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 xy坐标转化为经纬度坐标
  • ¥15 一般三角模糊数的上界值和下届值取中值的多少比较合理?
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥20 Hbase启动失败,无法启动HMaster
  • ¥15 sqpingboot在父模块已经引入了mybatisplus 在子组件不写版本号还是报错
  • ¥20 Lumerical FDTD solutions 中模型的相对阻抗,有效介电常数和有效磁导率的实部和虚部的数据如何获得?
  • ¥100 sql reporting service 远程smtp服务器配置支持
  • ¥15 ppyoloe_r带角度目标检测,loss_cls没法收敛
  • ¥15 淘宝交易指数如何解读,其关联的数据指标是什么
  • ¥15 Linux下安装搜狗拼音不能显示中文