回复 1# 的帖子
											#include<stdio.h>
void main()
{
    int arrange(int a[]);
    int m=19,n=0,num,t,i,k=1,a[20]={0};
    printf("请输入一个数组:");
    /*输入一个20个数的数组给a*/
    for(i=0;i<20;i++)
        {
        scanf("%d",&a[i]);
        }
    //arrange(a);
    /*数组a原样输出*/
    for(i=0;i<20;i++)
        {
        printf("%d ",a[i]);
        }
    /*输入要找的数num*/
    printf("please input a number:");
    scanf("%d",&num);
    /*折半查找*/
    while(m-n>1)
    {
        t=(m+n)/2;
        if(num==a[t])
            break;
        else if(num<a[t])
            m=t;
        else
            n=t;
    }
    if(num==a[t+1]) printf("在原始数组中找到了你要找的数字%d,它是数组的第%d元素.\n",num,t+1);
    else if(num==a[t-1])printf("在原始数组中找到了你要找的数字%d,它是数组的第%d元素.\n",num,t);
    else if(num==a[t])printf("在原始数组中找到了你要找的数字%d,它是数组的第%d元素.\n",num,t+1);
    else
    printf("在原始数组中没有找到你要找的数字%d\n",num);
}
/*int arrange(int a[])
    
{
    int i,t,k;
    /*数组a从在大到时小排序
    do
        {
            for(i=0;i<19;i++)
            {
            if(a[i]>a[i+1]){t=a[i+1];a[i+1]=a[i];a[i]=t;}
            }
            k++;
        }while(k<20);
return a;
}*/