| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1050 人关注过本帖
标题:关于在一组有顺序的的整数中插一整数,,输出还是一组有序数。。
只看楼主 加入收藏
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:15 
关于在一组有顺序的的整数中插一整数,,输出还是一组有序数。。
main()
{
    int a[100],i,j,k;
    for(i=0;i<9;i++)scanf("%d ",&a[i]);
   
    printf("Please input a insert number:\n");
    scanf("%d",k);
    for(i=0;i<9;i++)
    {
        if(k<=a[i+1]&&k>=a[i])
        {
            a[i]=k;
            for(j=9;j>i;j--)
            a[j]=a[j-1];
        break;
        }
    }
    for(i=0;i<10;i++)
    printf("%d ",a[i]);
}
这是我写的一程序。。但得不到正确的结果。。其中还有两种情况没考虑就得不到正确答案。。很费解。。
望大虾们指点下。。。
搜索更多相关主题的帖子: 输出 整数 顺序 序数 
2009-11-08 20:11
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:20 
scanf("%d",&k);是不是这的问题?
嗯,除此之外,问题还不少~

[ 本帖最后由 m456m654 于 2009-11-8 20:15 编辑 ]
2009-11-08 20:13
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:0 
是的。。太二了。。。谢谢版主。。
2009-11-08 20:17
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:0 
版主能帮我改改吗?
2009-11-08 20:18
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
main()
{
    int a[100],i,j,k;
    for(i=0;i<9;i++)
      scanf("%d ",&a[i]);
   
    printf("Please input a insert number:\n");
    scanf("%d",&k);
    for(i=0;i<9;i++)
    {
        if(k<=a[i+1]&&k>=a[i])
        {
            for(j=9;j>i;j--)
            a[j+1]=a[j];
            a[i+1]=k;
            break;
        }
    }
    for(i=0;i<10;i++)
    printf("%-4d ",a[i]);
}
不过在你的程序中原来的数组的元素必须是从小到大排好了的。
2009-11-08 20:19
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
我没有那个意思奥慢慢来,别急。
对了,要是在输入的时候不拘泥于元素从小到大排列,那么可以在输入后加一个冒泡排序,变成有顺序的。
2009-11-08 20:21
hsm8592
Rank: 2
等 级:论坛游民
帖 子:55
专家分:57
注 册:2009-11-6
收藏
得分:0 
k小于第一个数和k大于最后一个数 你好像没考虑
2009-11-08 20:24
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:0 
呵呵。。恩。。我想的结果是输入9个有序数以后会自动跳出Please input a insert number:然后输入一个整数。。再回车。。
得到一个新的有序数列。。
但得到右面 的结果。。
图片附件: 游客没有浏览图片的权限,请 登录注册

这是为什么呢?
2009-11-08 20:27
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:0 
回复 7楼 hsm8592
对头。。前面都没得到正确结果。。后面就没考虑了。。
2009-11-08 20:28
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
你一次输入了11个数,早超过了你定义的9个了,而且它把你输入的第十个数8当当做是要插入的数了。
2009-11-08 20:33
快速回复:关于在一组有顺序的的整数中插一整数,,输出还是一组有序数。。
数据加载中...
 
   



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

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