| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1471 人关注过本帖
标题:求大佬帮忙解决下将一个数插入已经排好序的数组中,然后按照原来的规律输出 ...
只看楼主 加入收藏
宝宝想你
Rank: 2
等 级:论坛游民
帖 子:32
专家分:40
注 册:2018-5-29
结帖率:80%
收藏
已结贴  问题点数:3 回复次数:5 
求大佬帮忙解决下将一个数插入已经排好序的数组中,然后按照原来的规律输出,看看我的代码错在哪
#include<stdio.h>
#include<stdlib.h>
int main(){
    int i, j, tra1, tra2,number=0,end;
    int a[10] = { 1, 4, 9, 11, 20, 31, 40, 51, 66 };
    printf("original arry is:\n");
        for (i = 0; i < 9; i++)
        {
        printf("%3d", a[i]);
        }
        printf("\n");
        printf("please insert a number\n");
        scanf_s("%d", &number);
        end = a[8];
        if (number>end)
        {
            a[9] = number;
        }
        else
        {
            for (i = 0; i < 9; i++)
            {
                if (a[i]>number)
                {
                    tra1 = a[i];
                    a[i] = number;
                }
                for (j = i + 1; j < 10; j++)
                {
                    tra2 = a[j];
                    a[j] = tra1;
                    tra1 = tra2;
                }
                break;
            }
        }
        for (i = 0; i < 10; i++)
        {
            printf("%3d", a[i]);
        }
        system("pause");
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 一个数 number printf for i++ 
2018-05-29 09:10
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:1 
从后往前挪数字就好了

https://zh.
2018-05-29 09:46
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:2 
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main(){
    int i, j, tra1, tra2,number,end;
    int a[10] = { 1, 4, 9, 11, 20, 31, 40, 51, 66 };
    printf("original arry is:\n");
        for (i = 0; i < 9; i++)
        {
        printf("%3d", a[i]);
        }
        printf("\n");
        printf("please insert a number\n");
        scanf("%d", &number);
        end = a[8];
        if (number>end)
        {
            a[9] = number;
        }
        else
         {
           for(i=0;i<10;i++)
              if(number<a[i])
                 {
                   for(j=8;j>=i;j--)
                     a[j+1]=a[j];
                     a[i]=number;
                     break;
                 }
         }
        for (i = 0; i < 10; i++)
        {
            printf("%3d ", a[i]);
        }
        system("pause");
}

2018-05-29 10:04
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
从后往前 挪数字
一个O(n)的问题
别做成O(n*n)

https://zh.
2018-05-29 10:12
宝宝想你
Rank: 2
等 级:论坛游民
帖 子:32
专家分:40
注 册:2018-5-29
收藏
得分:0 
回复 3楼 自学的数学
感谢
2018-05-29 11:25
宝宝想你
Rank: 2
等 级:论坛游民
帖 子:32
专家分:40
注 册:2018-5-29
收藏
得分:0 
回复 2楼 lin5161678
感谢
2018-05-29 11:26
快速回复:求大佬帮忙解决下将一个数插入已经排好序的数组中,然后按照原来的规律 ...
数据加载中...
 
   



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

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