#include <stdio.h>
int search(int *a,int l,int h,int x)
{int middle,flag;
flag=0;
while(l<=h&&flag==0)
{middle=(l+h)/2;
if(x==a[middle])
{flag=1;return(middle);}
else if(x>a[middle])
{return(search(a,middle+1,h,x));}
else return(search(a,l,middle-1,x));
}
if(flag==0) return(-1);
}#include <stdio.h>
int search(int *a,int l,int h,int x)
{int middle,flag;
flag=0;
while(l<=h&&flag==0)
{middle=(l+h)/2;
if(x==a[middle])
{flag=1;return(middle);}
else if(x>a[middle])
{return(search(a,middle+1,h,x));}
else return(search(a,l,middle-1,x));
}
if(flag==0) return(-1);
}
#include <stdio.h>
void insertq(int *a,int n)
{int i,j,low,m;
for(i=0;i<n-1;i++)
{low=i;
for(j=i+1;j<n;j++)
if(a[low]>a[j]) low=j;
m=a[low];
for(j=low;j>i;j--) {a[j]=a[j-1];a[i]=m;}
}}
#include <stdio.h>
#include "combine.h"//两个子函数的定义
#define N 6
void main()
{int a[N],l=0,h=N-1,x,i;
printf("input six intergent:\t");
for(i=0;i<N;i++)
scanf("%3d",&a[i]);
printf("\n");
printf("input i from one to three:\t");
do
{scanf("%d",&i);
switch(i)
{case 1:{insertq(a,N);for(i=0;i<N;i++) printf("%3d",a[i]);break;}
case 2:{insertq(a,N);printf("input one intergent:\t");
scanf("%d",&x);printf("%d",search(a,l,h,x));break;}
case 3:return(0);
}}while(1);}
当执行程序的时候不是有个框出来吗?当我执行一个case后 ,希望屏幕想刷新一样变成原来的样子,在执行另一个case。
之前没说清楚 ,实在对不起大哥大姐了。