错误C语言代码求纠正
目的:查找用户输入的数据在不在原有的数组里有误代码:
#include<stdio.h>
#include<math.h>
int main()
{
int i,b,h,back,mid,flag;
int a={23,26,29,34,38,45,48,50};
printf("请输入一个两位数");
scanf("%2d",&b);
if(b<a||b>a)
printf("b不存在于数组中");
else
{
while(i>=0&&i<=7&&h<=back)
{
h=0+i;
back=7-i;
mid=(h+back)/2;
if(b!=a||b!=a)
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={23,26,29,34,38,45,48,50} ;
printf("请输入一个两位数 : ") ;
scanf("%d" , & b) ;
if(b >= a && b <= a) {
for(left = 0 , right = 7 ; left <= right ;) {
mid = left + (right - left) / 2 ;
if(a == b) {
printf("b 存在于数组中\n") ;
flag ++ ;
break ;
} else {
if(b > a) left = mid + 1 ;
else right = mid - 1 ;
}
}
}
if(! flag) printf("b 不存在于数组中\n") ;
}
页:
[1]