标题:有一个已经排好的数组,要求输入一个数后,按原来排序的规律将它插入数组
只看楼主
墨痕
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-4-22
结帖率:50%
已结贴  问题点数:20 回复次数:4 
有一个已经排好的数组,要求输入一个数后,按原来排序的规律将它插入数组
为啥一直输不出x的值


#include<stdio.h>
int main()
{
    int i,k,x,a[10]={1,3,5,7,8,9,10,12,15,16};
    printf("茶树之前的数组:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]);
    printf("\n请输入要插入的数据x:");
    scanf("%d",&x);
    for(i=0;i<10;i++)
        if(x<=1)break;
        for(k=9;k>=i;k--)
        {
            a[k+1]=a[k];
        }
        a[i]=x;
        printf("茶树之后的数组:\n");
            for(i=0;i<11;i++)
                printf("%5d",a[i]);
            return 0;
}
搜索更多相关主题的帖子: include 
2014-04-22 22:58
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
得分:10 
下面红字的地方时你写错的地方。
#include<stdio.h>
int main()
{
    int i,k,x,a[11]={1,3,5,7,8,9,10,12,15,16};

    printf("茶树之前的数组:\n");
    for(i=0;i<10;i++)
        printf("%5d",a[i]);

    printf("\n请输入要插入的数据x:");
    scanf("%d",&x);

    for(i=0;i<10;i++)
        if(a[i]>=x)break;

        for(k=9;k>=i;k--)
        {
            a[k+1]=a[k];
        }
        a[i]=x;
        printf("茶树之后的数组:\n");
            for(i=0;i<11;i++)
                printf("%5d",a[i]);
        printf("\n");
            return 0;
}
2014-04-22 23:09
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
得分:0 
第一个满足a[i]>=x的i就是要插入x的正确位置。
2014-04-22 23:11
墨痕
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-4-22
得分:0 
回复 楼主 墨痕
作为初学者,不太懂,谢谢赐教
2014-04-22 23:17
鸥翔鱼游
Rank: 5Rank: 5
等 级:职业侠客
帖 子:182
专家分:323
注 册:2014-4-19
得分:10 
非常精彩,欣赏支持好友佳作
2014-04-23 12:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430503-1-1.html




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

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