| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 16258 人关注过本帖
标题:简化的插入排序
只看楼主 加入收藏
cxly
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2016-11-15
结帖率:73.33%
收藏
已结贴  问题点数:4 回复次数:6 
简化的插入排序
简化的插入排序   (15分)

本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
输入格式:

输入在第一行先给出非负整数N(<<<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
输出格式:

在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。
输入样例:

5
1 2 4 5 7
3

输出样例:

1 2 3 4 5 7

#include<stdio.h>
int main(void)
{
    int n,x,i,count=0;
    int a[10];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    scanf("%d",&x);

    if(x>=a[n-1]){
        for(i=0;i<n;i++)
            printf("%d ",a[i]);
        printf("%d\n",x);}

    if(x<=a[0]){
        printf("%d ",x);
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("\n");}

    if(x>a[0]&&x<a[n-1]){
    for(i=0;i<n;i++){
        if(a[i]<x){
            printf("%d ",a[i]);
            count++;}
        if(a[i]>=x||count>=5){
            printf("%d ",x);
        count++;
        break;}
    }
    }

    for(i=a[count-2];i<n;i++)
        printf("%d ",a[i]);
    printf("\n");
    }
    return 0;
}
       这是我做的,一运行这个程序就自动结束并关闭,哪里有问题啊?


[此贴子已经被作者于2016-11-30 19:49编辑过]

搜索更多相关主题的帖子: 编写程序 include count 
2016-11-30 19:25
ldsh304
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:242
专家分:755
注 册:2016-1-18
收藏
得分:1 
bool flag = true;
if(x>a[0]&&x<a[n-1]){
    for(i=0;i<n;i++){
        if(a[i]<x){
            printf("%d ",a[i]);
         }
        else if(a[i]>=x && flag){
            printf("%d %d ",x, a[i]);flag = false;
        }
        else if (!flag)    printf("%d ",a[i]);
    }
}
2016-11-30 19:37
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
#include<stdio.h>
 int main(void)
 {
     int n, x, i, count = 0;
     int a[10];
     scanf("%d", &n);
     for(i = 0; i < n; i++){
         scanf("%d", &a[i]);
     }
     scanf("%d", &x);

     if(x >= a[n-1]){
        for(i = 0; i < n; i++)
            printf("%d ", a[i]);
         printf("%d\n", x);
     }

     if(x <= a[0]){
        printf("%d ", x);
     for(i = 0; i < n; i++)
         printf("%d ", a[i]);
     printf("\n");
     }

     if(x > a[0]&& x < a[n-1]){
      for(i = 0; i < n; i++)
      {
         if(a[i] <= x){
             printf("%d ", a[i]);
             count++;
         }
         if(a[i] >= x){
             printf("%d ", x);
             break;
         }
       }
     
     for(i = count; i < n; i++)
        printf("%d ", a[i]);
     printf("\n");
     }
     
     return 0;
 }

早知做人那么辛苦!  当初不应该下凡
2016-11-30 19:57
纵横阳仔
Rank: 7Rank: 7Rank: 7
来 自:自学成才的火星人儿
等 级:贵宾
威 望:26
帖 子:147
专家分:698
注 册:2016-10-20
收藏
得分:1 
如果你将{}一一对齐就不会丢了,虽然c语言书写比较自由
2016-11-30 20:34
cxly
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2016-11-15
收藏
得分:0 
回复 3楼 炎天
改了后显示只有部分正确

2016-11-30 21:48
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
回复 5楼 cxly
输入的数据发一下

早知做人那么辛苦!  当初不应该下凡
2016-11-30 22:11
新手丶小方
Rank: 2
等 级:论坛游民
帖 子:16
专家分:18
注 册:2016-11-28
收藏
得分:1 
#include<stdio.h>
int main(void)
{
    int n,x,i,count=0;
    int a[10];
    printf("请输入数组个数: ");
    scanf("%d",&n);
    printf("请输入有序数组: ");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    printf("请输入要插入的值: ");
    scanf("%d",&x);
        if(x>=a[n-1])
        {

            for(i=0;i<n;i++)
            printf("%d ",a[i]);
            printf("%d\n",x);
        }

        if(x<=a[0])
        {
            printf("%d ",x);
            for(i=0;i<n;i++)
            printf("%d ",a[i]);
            printf("\n");
        }

        if(x>a[0]&&x<a[n-1])
        {
          for(i=0;i<n;i++)
          {
              if(a[i]<x)
              {
                   printf("%d ",a[i]);
                   count++;
              }
              if(a[i]>=x)
              {
                       printf("%d ",x);
                       break;
              }
          }
        }
        for(i=count;i<n;i++)
        printf("%d ",a[i]);
        printf("\n");
    return 0;
}

我改了你的 你可以看看
2016-11-30 22:44
快速回复:简化的插入排序
数据加载中...
 
   



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

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