| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 933 人关注过本帖
标题:这个程序该如何编写,求解!!!谢谢
只看楼主 加入收藏
多余的流星
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2011-5-2
结帖率:69.23%
收藏
已结贴  问题点数:10 回复次数:11 
这个程序该如何编写,求解!!!谢谢
编写程序、随机数出m个数,从键盘任意输入一个数n,若n在这m个数中,请用折半查找方法将其找出,若不在,请将其插入,使插入后的m个数也从小到大排列。要求 m,n,均由用户从键盘输入。
搜索更多相关主题的帖子: 如何 
2011-05-03 23:22
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <time.h>

int main (void) {
    srand((unsigned)time(NULL));

    int m,n,i,j,temp;

    printf ("Enter number of random array:");
    scanf("%i",&m);
    int a[m];

    printf ("Enter number of you want search:");
    scanf("%i",&n);

    for(i=0;i<m;i++) {
        a[i]=rand()%100;
    }
//Sort ...    
    for(i=0;i<m-1;i++) {
        for(j=i+1;j<m;j++) {
            if(a[i]>a[j]) {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
//Print ...
    for(i=0;i<m;i++) { 
        printf ("%i ",a[i]); 
    } 
    printf ("\n");

//Search ...
    
    for(i=0;i<m;i++) {
        if(n>a[i]&&n<a[i+1]) {
            for(j=m-1;j>=i+1;j--) {
                a[j+1]=a[j];
            }
            a[i+1]=n;
            break;
        }
            
        if(n==a[i]) {
            printf ("Found it!\n");
            break;
        }
        if(n<a[0]) {
            for(j=m-1;j>=0;j--) {
                a[j+1]=a[j];
            }
            a[0]=n;
            m++;
            break;
        }    
        if(n>a[m-1]) {
            a[m]=n;
            m++;
            break;
        }
    }

//Print

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

    return 0;

}


善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-04 10:13
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
楼上牛人!

   唯实惟新 至诚致志
2011-05-04 12:26
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用qq1023569223在2011-5-4 12:26:18的发言:

楼上牛人!

⊙﹏⊙b汗!!!!!!!! 前段时间坛子有类似的帖子, 我不过改了改,仅此而已。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-04 14:35
大学的守望者
Rank: 1
等 级:新手上路
帖 子:17
专家分:2
注 册:2011-4-16
收藏
得分:1 
回复 4楼 ansic
强人,以后请多多指教噢
2011-05-04 18:45
大学的守望者
Rank: 1
等 级:新手上路
帖 子:17
专家分:2
注 册:2011-4-16
收藏
得分:0 
回复 2楼 ansic
你好,后面没用到折半法。
2011-05-04 18:51
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
要是不知道 还真以为是你现写的

                                         
===========深入<----------------->浅出============
2011-05-04 20:38
爱海松涛
Rank: 3Rank: 3
来 自:安徽合肥
等 级:论坛游侠
帖 子:120
专家分:197
注 册:2011-2-25
收藏
得分:1 
顶一下。。。
2011-05-04 21:20
BC2010_
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2010-12-7
收藏
得分:1 
怎一个强字了得!!!
2011-05-04 21:23
緣來④伱
Rank: 2
来 自:河南商丘
等 级:论坛游民
帖 子:35
专家分:37
注 册:2011-3-9
收藏
得分:1 
LZ不要让别人帮你写代码,可以让别人给你找错误,这个程序很好,应该先自己写写,能写出这个程序,你至少能学会:随机数、排序、折半查找。哪一点不会可以看书或网上单独查哪一块,多看多写,写多了就会了
2011-05-04 21:24
快速回复:这个程序该如何编写,求解!!!谢谢
数据加载中...
 
   



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

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