| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4095 人关注过本帖
标题:数列有序
只看楼主 加入收藏
周详
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:18 
数列有序
Description

一个非递减有序的整型数组有n个元素,给定一个整数num,将num插入该序列的适当位置,使序列仍保持非递减有序。

Input

输入有三行。第一行是一个正整数n,n<1000。第二行是n个整数,第三行是待插入整数num。

Output

输出非递减有序的n+1个整数,数据之间用空格隔开。输出占一行。

Sample Input


5
1 2 4 5 6
3

Sample Output


1 2 3 4 5 6

Source
搜索更多相关主题的帖子: 正整数 元素 
2012-12-04 17:44
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:3 
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
    int n[1000] = {0};
    int Mount;    //数量
    int Number;   //插入数据

    //初始化
    scanf("%d", &Mount);
    for (int i = 0;i < Mount;i++)
        scanf("%d ", &n[i]);

    //插入同时排序
    scanf("%d", &Number);
    for (i = Mount;i > 0;i--)
    {
        if (n[i - 1] > Number)
        {
            n[i] = n[i - 1];
            continue;
        }
        n[i] = Number;
        break;
    }

    //输出
    for (i = 0;i <= Mount;i++)
        printf("%d ", n[i]);
    printf("\n");
    return 0;
}


[fly]存在即是合理[/fly]
2012-12-04 18:00
引脚片段
Rank: 2
等 级:论坛游民
帖 子:41
专家分:29
注 册:2012-11-21
收藏
得分:3 
想问一下,if语句中有else和没有else  有什么区别么?
2012-12-04 18:24
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
以下是引用引脚片段在2012-12-4 18:24:11的发言:

想问一下,if语句中有else和没有else  有什么区别么?
你说呢

DO IT YOURSELF !
2012-12-04 19:24
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:3 
这题没必要排序,输入数据是已经排好序的。

重剑无锋,大巧不工
2012-12-04 23:06
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
回复 5楼 beyondyf
额,注释错了,是插入同时移动


[fly]存在即是合理[/fly]
2012-12-04 23:53
引脚片段
Rank: 2
等 级:论坛游民
帖 子:41
专家分:29
注 册:2012-11-21
收藏
得分:0 
回复 4楼 wp231957
if语句如果有else的话,  就是除了if以外的情况要先执行else后代码,再执行后面的代码,  没有的话,  就是除if以外情况直接执行后面代码,   对不对?
2012-12-05 13:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:3 
就是考个 二分查找 吧
2012-12-05 14:12
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 6楼 azzbcc
呵呵,跟你的注释没关系,我的意思是连插入和移动也完全是多余的。

其实只需要先输出数组比c小的部分,再输出c,再输出数组剩余的部分就可以了。

这题没什么难度可言,非要说个重点的话,反倒是输出格式的控制。你给出的代码肯定是过不了的。因为你的每行输出相对题目要求多了一个空格。

重剑无锋,大巧不工
2012-12-06 10:55
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
回复 9楼 beyondyf
汗!
问题1:这样多出一个空格,一般情况AC不了么?也把它视为错误答案?
问题2:在输出格式控制那,我只想到先把第一个单独输出,再用 %输出后面的,还有什么方法么?
问题3:其实还是问题2,我这样做代码多了一行,会使效率降低么?

请杨大哥指点一二!


[fly]存在即是合理[/fly]
2012-12-06 11:58
快速回复:数列有序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013802 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved