张佳易 发表于 2022-11-16 19:04:26

错误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;
}

jackz007 发表于 2022-11-16 19:26:13

#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]
查看完整版本: 错误C语言代码求纠正