在一个升序数组中插入一个数,使数组仍然保持升序排列。求代码

在一个升序数组中插入一个数,使数组仍然保持升序排列。求代码求编程求代码。谢谢... 在一个升序数组中插入一个数,使数组仍然保持升序排列。求代码求编程求代码。谢谢 展开
 我来答
问明6E
高粉答主

2019-06-25 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.8万
展开全部

#include <stdio.h

void sort(int num[],int n,int k)

{

for(int j=0;j<n;j++)

{

if(num[j]>k)

{

int a=num[j];

num[j]=k;

k=a;

}

}

num[n]=k;

for(int i=0;i<=n;i++)

printf("%5d",num[i]);

}

int main()

{

int t[100],c,d;

while(~scanf("%d %d",&c,&d))

{

for (int j=0;j<c;j++)

{

scanf("%d",&t[j]);

}

sort(t,c,d);

}

}

运行效果:

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽缺此度可以指定域宽,%md--&gt;m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如卜扮果m为负数,则右对齐(右侧补空白)。

2、转义伏弊迅字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

谁知道猪的幸福
2017-12-22 · 超过26用户采纳过TA的回答
知道答主
回答量:73
采纳率:76%
帮助的人:32.6万
展开全部
public class Test {

    public static void main(String[] args) {
     枣搏枯   int[] arr={1,2,3,4,55,66,78,234,556};//一个升序的数组
        int[] arrs=new int [arr.length+1];//新建一个数组
        int x=50;//要插入的数
        for (int i = 0; i < arr.length; i++) {
            arrs[i] = arr[i];//把arr的值都给arrs
        }
        System.out.println(Arrays.toString(arr));//输出一开始没有凳洞插入的
        for (int i = arrs.length-2; i >= 0; i--) {//从最后一个开始循环
            if(x > arrs[i]){//插入的大于现在则把插入的数插入到这个数的后面
              银老  arrs[i+1]=x;
                break;
            }else{//否则就是插入的小于现在的把现在的往后移动一个
                arrs[i+1]=arrs[i];
            }
        }
        System.out.println(Arrays.toString(arrs));//输出插入之后的
        
        }

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式