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 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧