鱼C论坛

 找回密码
 立即注册
查看: 888|回复: 2

[已解决]总是提示没找到数字的选择

[复制链接]
发表于 2020-10-21 21:41:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
        void qipao(int a[]);
        void fen(int a[],int n,int high,int low);
        int a[10],i;
        printf("输入10个数字的数据库\n");
        for(i=0;i<10;i++)
                scanf("%d",&a[i]);
        qipao(a);
}
void qipao(int a[])
{
        int e,j,t,n;
        for(e=0;e<9;e++)
                for(j=0;j<9-e;j++)
                {
                        if(a[j]>a[j+1])
                        {
                                t=a[j];
                                a[j]=a[j+1];
                                a[j+1]=t;
                        }
                }
                        for(e=0;e<10;e++)
                                printf("%d ",a[e]);
               
                        printf("输入一个你想查找的数字\n");
                        scanf("%d",&n);
                        fen(a,n,9,0);

               
}
void fen(int a[],int n,int high,int low)
{   
        int mid,k;
        while(low<=high)
        {
                mid=(high+low)/2;
                if(a[mid]==n)
                {
                        k=0;
                        break;
                }
                if(n<a[mid])
                        high=mid-1;
                if(n>a[mid])
                        low=mid+1;
                if(low>high)
                {
                        k=1;
                 break;
                }
        }
        if(k=1)
        {
            printf("查找不到此个数字,请查正后输入\n");
                getchar();
                scanf("%d",&n);
                fen(a,n,9,0);
        }
        if(k=0)
                printf("这个数字是第%d个数字,它为%d",mid,n);
}
               
最佳答案
2020-10-21 21:56:02
文件末尾部分 if的条件写错啦
应该是 if (k==1) 和 if (k==0)   你少写了一个等号,把比较运算符写成赋值运算符了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-21 21:56:02 | 显示全部楼层    本楼为最佳答案   
文件末尾部分 if的条件写错啦
应该是 if (k==1) 和 if (k==0)   你少写了一个等号,把比较运算符写成赋值运算符了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-22 16:21:31 | 显示全部楼层
sunrise085 发表于 2020-10-21 21:56
文件末尾部分 if的条件写错啦
应该是 if (k==1) 和 if (k==0)   你少写了一个等号,把比较运算符写成赋值 ...

谢谢大神拉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 22:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表