| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 915 人关注过本帖
标题:不求代码,只求解释。
只看楼主 加入收藏
既生瑜何生亮
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-2-7
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
不求代码,只求解释。
数列有序!
Time Limit: 1000MS Memory limit: 65536K
题目描述
有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数m,请将该数插入到序列中,并使新的序列仍然有序。
输入
输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0表示输入数据的结束,本行不做处理。
输出
对于每个测试实例,输出插入新的元素后的数列。
示例输入
3 3
1 2 4
0 0
示例输出
1 2 3 4
我的代码:
#include<stdio.h>
void main()
{
    int i,j,m,n,a[1000];
    while(scanf("%d%d",&n,&m)&&m||n)
    {
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(i=0;i<n;i++)
        {
            if(a[i]>=m)
            {
                n++;
                for(j=n-1;j>i;j--)
                    a[j]=a[j-1];
                a[i]=m;break;
            }
            else
            {    n++;
                a[n-1]=m;break;
            }
        }
        for(i=0;i<n;i++)
        {
            if(i!=0)
                printf(" ");
            printf("%d",a[i]);
        }
       printf("\n");
       }
}
为什么自己运行正确,却不能AC呢?是不是有忽略的地方。求高手指点。
链接:http://acm.sdut.
搜索更多相关主题的帖子: 测试 void include Memory 元素 
2012-02-11 10:15
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:10 
while(scanf("%d%d",&n,&m)&&m||n)这句用的不对。
应该是while(scanf("%d%d", &n, &m), m || n)
另外,这个题没必要用数组缓存数据。在读取的过程中可以与m做比较,小于m就直接输出,如果大于m则先输出m,之后将所有剩余数据输出。
 

重剑无锋,大巧不工
2012-02-11 10:28
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 

Time Limit: 1000MS Memory limit: 65536K
我还是想追问下,怎么知道程序运行后的时间和内存,如果不在代码中添加测试时间和内存的代码?
我在网上搜了下:怎么看C语言程序运行后的时间和内存? 结果答非所问。
TOP命令?

梅尚程荀
马谭杨奚







                                                       
2012-02-11 11:11
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 3楼 有容就大
听说过国际大学生程序设计竞赛么?
竞赛有一个平台,你跟据题目的要求写出相应的代码,然后提交到平台,平台会自动判断你的代码是否正确,能否得到预期的结果。
结果中会给出你的代码占用的内存大小,完成题目所用的时间。
现在国内很多大学都有自己的平台用于训练和选拔比赛,而且大多都对外开放注册。
你可以找一个试试,我比较推荐杭电的,老杨喜欢在北航玩。我玩ACM纯为了娱乐,当作智力游戏消遣。

改下错别字


[ 本帖最后由 beyondyf 于 2012-2-11 11:33 编辑 ]

重剑无锋,大巧不工
2012-02-11 11:26
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 4楼 beyondyf
那就是说在一个竞赛平台注册后,只要提交代码,平台系统会自动给出时间和内存来评价提交的程序是否合格?

梅尚程荀
马谭杨奚







                                                       
2012-02-11 11:37
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
嗯。这就是一个,去试试
http://www.

重剑无锋,大巧不工
2012-02-11 11:39
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
北航的呢,看了下很不错。

梅尚程荀
马谭杨奚







                                                       
2012-02-11 12:11
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
回复 楼主 既生瑜何生亮
这个问题没必要给你贴代码了   按照杨大哥的思路去重新写个

                                         
===========深入<----------------->浅出============
2012-02-11 16:27
快速回复:不求代码,只求解释。
数据加载中...
 
   



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

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