|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
目的:查找用户输入的数据在不在原有的数组里
有误代码:
#include<stdio.h>
#include<math.h>
int main()
{
int i,b,h,back,mid,flag;
int a[8]={23,26,29,34,38,45,48,50};
printf("请输入一个两位数");
scanf("%2d",&b);
if(b<a[0]||b>a[7])
printf("b不存在于数组中");
else
{
while(i>=0&&i<=7&&h<=back)
{
h=0+i;
back=7-i;
mid=(h+back)/2;
if(b!=a[h]||b!=a[back])
flag=1;
else
{
flag=0;
printf("a在数组中");
break;
}
i++;
}
}
if(flag==1)
printf("b不在数组中");
return 0;
}
- #include<stdio.h>
- int main()
- {
- int i , b , left , right , mid , flag = 0 ;
- int a[8]={23,26,29,34,38,45,48,50} ;
- printf("请输入一个两位数 : ") ;
- scanf("%d" , & b) ;
- if(b >= a[0] && b <= a[7]) {
- for(left = 0 , right = 7 ; left <= right ;) {
- mid = left + (right - left) / 2 ;
- if(a[mid] == b) {
- printf("b 存在于数组中\n") ;
- flag ++ ;
- break ;
- } else {
- if(b > a[mid]) left = mid + 1 ;
- else right = mid - 1 ;
- }
- }
- }
- if(! flag) printf("b 不存在于数组中\n") ;
- }
复制代码
|
|