首页 > 其他分享 >c语言代码练习19

c语言代码练习19

时间:2023-10-05 16:23:28浏览次数:37  
标签:arr return 19 代码 练习 ret else int printf

需求:利用二分查找,查找数组中是否有用户输入的数字。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//这里的arr[]实际上是一个指针
int ayue(int arr[],int a,int p)
{
    int left = 0;
    int right = p - 1;
    while (left<=right)
    {
        int i = (right+left) / 2;//中间元素的下标
        if(arr[i] > a)
        {
            right = i-1;
        }
        else if(arr[i] < a)
        {
            left = i+1;
        }
        else
        {
            return i;
        }
    }
    return -1;
}

int main()
{
    int ret = 0;
    int a = 0;
    int arr[] = {1,2,3,4,5,6,7,8,9};
    int p = sizeof(arr) / sizeof(arr[0]);
    printf("请输入你的数字:");
    scanf("%d", &a);
    //实际上这里传过去的arr是数组首元素的地址。
    ret = ayue(arr, a, p);
    if (ret == -1)
    {
        printf("你输入的数字不在数组里。\n");
    }
    else
    {
        printf("你输入的数字在数组里,下标是%d\n",ret);
    }
    return 0;
}

 

标签:arr,return,19,代码,练习,ret,else,int,printf
From: https://www.cnblogs.com/ayue6/p/17743476.html

相关文章

  • scrapy post请求练习
    importscrapyimportjsonclassTransferpostSpider(scrapy.Spider):name='transferPost'allowed_domains=['fanyi.baidu.com']#start_urls=['http://fanyi.baidu.com/']#post请求不能用默认生成的,因为不能携带请求参数#de......
  • 读书网入库练习
    settings.pyDB_HOST='localhost'DB_PORT=3306DB_USER='root'DB_PWD='1234'DB_NAME='guli'DB_CHARSET='utf8'#Configureitempipelines#Seehttps://docs.scrapy.org/en/latest/topics/item-pipeli......
  • 性能暴增70%!AMD线程撕裂者RPO 7000将于10月19日发布: 96核心Zen 4史无前例
    据wccftech最新报道,AMD的下一代RyzenThreadripper(线程撕裂者)PRO7000“StormPeak”CPU将于10月19日作为终极工作站解决方案亮相。据悉,线程撕裂者PRO7000是AMD基于Zen4架构的最新一代旗舰工作站CPU,它的推出也意味着基于Zen3的PRO5000系列将退出历史舞台。根据泄露的消息,预......
  • python代码制作excel的步骤
    1.安装pandespipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple/2.安装openpyxl  务必要安装openpyxl,否则运行代码时会报错pipinstallopenpyxl-ihttps://mirrors.aliyun.com/pypi/simple/3.代码实现(案例):importpandasaspddata={"姓名":["楚枫","楚月&......
  • sklearn.pipeline的作用 函数参数解释及代码举例
    sklearn.pipeline是一个实用的工具,可以将多个数据预处理步骤和机器学习模型组合成一个整体,从而简化了机器学习的流程。Pipeline类可以将多个算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流。主要带来两点好处:1.直接调用fit和predict方......
  • R语言代码示例
    以下是一个更为复杂的R语言代码示例,展示了一些复杂的数据处理、可视化和模型构建技巧:#设定随机数种子set.seed(123)#生成模拟数据n<-1000x1<-rnorm(n)x2<-rnorm(n)y<-2*x1+3*x2+rnorm(n)#数据预处理df<-data.frame(x1,x2,y)df$x_sum<-df$x1+df$x......
  • C 语言代码示例
    以下是一个较为复杂的C语言代码示例,它演示了如何使用链表数据结构实现一个简单的图(Graph)数据结构,并实现图的深度优先搜索(DFS)算法:#include<stdio.h>#include<stdlib.h>structNode{intvertex;structNode*next;};structGraph{intnumVertices;st......
  • 函数练习错题
    A函数的返回值不能一次返回两个数例如inttest(){}return3,4;           intmain(){          最后的结果不是3,4而是4,因为这是个逗号表达式,整个表达式会从}intret=test();     左到右依次计算,但是最后的结果只会返回最......
  • c语言代码练习17
    需求:判断用户输入的一个数字是否为一个素数。#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>voidayue(int*pinput){inti=0;for(i=2;i<*pinput;i++){if(*pinput%i==0){printf("您输入的数字不是一个......
  • c语言代码练习--函数
    函数:一,概念:1,在计算科学中,子程序(英语:Subroutione,procedure,function,rotine,method.subprogram,callableunit),是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其它代码,具备相对的独立性。2,一般会由输入参数并有返回值,提供对过程的封......