【【C语言康复训练-2】】

这篇具有很好参考价值的文章主要介绍了【【C语言康复训练-2】】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C语言康复训练-2

//二分法有序数组查找

int find(int arr1[], int k, int sz)
{
    int left = 0;
    int right = sz - 1;
    while (left <= right)
    {
        int mid = (left + right) / 2;
        if (k > arr1[mid])
        {
            left = mid + 1;
        }
        else if (k < arr1[mid])
        {
            right = mid - 1;
        }
        else
        {
            return k;
        }
    }
    if (left > right)
    {
        return 0;
    }
}

int main()
{
    int arr1[] = { 1,2,3,4,5,6,7,8,9,11,12,13,23 };
    int a = 0;
    int k = 1;
    int sz = sizeof(arr1) / sizeof(arr1[0]);
    a = find(arr1, k, sz);
    if (a == 0)
    {
        printf("未找到您所需的数字\n");
    }
    else
    {
        printf("您想要的数字在第%d位", a);
    }
    return 0;
}

//接受一个整型值(无符号),按顺序打印他的每一位。例如输入1234,输出1 2 3 4
///1234%10 余4 接下来继续模10 就会得到 其他余数 3 2 1
//这里的做法好但是又不是特别好
//用递归的思路把一个复杂问题先简单化处理
//我们设计一个函数 命名print
//假设需要打印的数为1234 我们先拆成(123)4 || (12) 3 4 || (1) 2 3 4

void print(int n)
{
    if (n > 9)
    {
        print(n / 10);
    }
    printf("%d\n", n % 10);
}
//举个例子就2位 ,递归的意思就是不停的用自身完成简化目的
//我先输入19 第一次进入大于9 ,那么先取一个高位1,再对1 进行操作,
///1进行了一个完整的print操作,最后输出了一个1 .而做完这次之后。下面还
//留有一个printf用来打印9 所以这个方法好
int main()
{
    unsigned int num = 0;
    scanf("%d", &num);
    print(num);
    return 0;
}

// n的阶乘 调用

int jiecheng(int a)
{
    int b = 0;
    int sum = 1;
    for (b = 1;b <= a;b++)
    {
        sum = sum * b;
    }
    return sum;
 }

int main()
{
    printf("请输入想要输入的数字");
    int a = 0;
    scanf("%d", &a);
    int b = jiecheng(a);
    printf("结果是%d", b);
    return 0;
}

//关于阶乘的递归思想
// n的阶乘 调用

#include<stdlib.h>
int jiecheng(int a)
{
    if (a > 1)
    {
        return a * jiecheng(a - 1);
    }
    else
        return 1;
}

int main()
{
    printf("请输入想要输入的数字");
    int a = 0;
    int b = 0;
    scanf("%d", &a);
     b = jiecheng(a);
    printf("结果是%d", b);
    return 0;
}  

//冒泡排序法文章来源地址https://www.toymoban.com/news/detail-703236.html

void paixu(int arr[], int sz)
{
    int i = 0;
    int j = 0;
    int temp = 0;
    for (i = 0;i < sz;i++)
    {
        for(j=0;j<=i;j++)
            if (arr[j] < arr[i])
            {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
    }
}

int main()
{
    int arr1[] = { 9,8,7,6,5,4,3,11,2,45,2,12222,23456 };
    int a = 0;
    int sz = sizeof(arr1) / sizeof(arr1[0]);
    paixu(arr1, sz);
    for (a = 0;a < sz;a++)
    {
        printf("%d\n", arr1[a]);
    }
    return 0;
}

到了这里,关于【【C语言康复训练-2】】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (入门向)面向萌新的算法比赛入门指南

    算法是指解决问题或完成特定任务的一系列明确指令或步骤集合。它是一个定义良好、逐步执行的操作序列,用于将输入转换为输出。算法可用于计算、数据处理、自动化控制、问题解决等各个领域。 算法通常由一系列简单的操作组成,这些操作可以是基本的数学运算、逻辑

    2024年02月07日
    浏览(48)
  • C语言学习day15:数组强化训练

    题目一: 称体重:分别给10个值,来获得最大值 思路: 定义数组,给数组内赋10个值 第一个下标的值与第二个下标的值进行比较 定义max,将比较得来的较大的值赋值给max 一直比较直到比较到最后一个下标,将得到的最大值赋值给max 代码: 结果: 题目二:数组逆置 数组逆

    2024年02月21日
    浏览(41)
  • 多模态模型学习1——CLIP对比学习 语言-图像预训练模型

    学了一些多模态的知识,CLIP算是其中最重要也是最通用的一环,一起来看一下吧。 CLIP的全称是Contrastive Language-Image Pre-Training,中文是对比语言-图像预训练,是一个预训练模型,简称为CLIP。 该模型是 OpenAI 在 2021 年发布的,最初用于匹配图像和文本的预训练神经网络模型,

    2023年04月13日
    浏览(53)
  • 【【萌新的STM32 学习-6】】

    BSP 文件夹,用于存放正点原子提供的板级支持包驱动代码,如:LED、蜂鸣器、按键等。 本章我们暂时用不到该文件夹,不过可以先建好备用。 CMSIS 文件夹,用于存放 CMSIS 底层代码(ARM 和 ST 提供) SYSTEM 文件夹,用于存放正点原子提供的系统级核心驱动代码 Middlewares 文件夹

    2024年02月14日
    浏览(31)
  • 【【萌新的STM32学习-16中断的基本介绍1】】

    中断 什么是中断 中断是打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续执行,就叫中断 中断的作用 实时控制 : 就像对温度进行控制 故障控制 : 第一时间对突发情况做出反应,就好比电梯夹人,我马上启动关断电梯 数据传输 : 不确定数据何时会

    2024年02月11日
    浏览(42)
  • 【【萌新的STM32学习-17 中断的基本概念2】】

    STM32中断优先级的基本概念 抢占优先级: 高抢占优先级可以打断正在执行的低抢占优先级中断 响应优先级: 这个也叫子优先级 抢占优先级相同,响应优先级高的中断不能打断响应优先级低的中断。还有一种情况就是当两个或者多个中断的抢占式优先级和响应优先级相同时,

    2024年02月11日
    浏览(27)
  • 自然语言处理(NLP) - 前预训练时代的自监督学习

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月08日
    浏览(42)
  • 【深度学习实验】循环神经网络(四):基于 LSTM 的语言模型训练

    目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. RNN与梯度裁剪 2. LSTM模型 3. 训练函数 a. train_epoch b. train 4. 文本预测 5. GPU判断函数 6. 训练与测试 7. 代码整合         经验是智慧之父,记忆是智慧之母。 ——谚语    

    2024年02月07日
    浏览(43)
  • 【【萌新的STM32学习-27--USART异步通信配置步骤】】

    USART/UART 异步通信配置步骤 1.配置串口工作参数 HAL_UART_Init() 我们会在此处调用MSP中的回调函数 2.串口底层初始化 用户定义HAL_UART_MspInit() 配置GPIO NVIC CLOCK 等 3.开启串口异步接收中断 HAL_UART_Receive_IT() 4.设置优先级,使能中断 HAL_NVIC_SetPriority() HAL_NVIC_EnableIRQ() 5.编写中断服务函数

    2024年02月10日
    浏览(38)
  • 【【萌新的STM32学习25--- USART寄存器的介绍】】

    STM32–USART寄存器介绍(F1) 控制寄存器1 (CR1) 位13: 使能USART UE 0: USART分频器和输出被禁止 1: USART模块使能 位12 : 配置8个数据位 M 该位定义了数据字的长度,由软件对其设置和清零 0: 一个起始位,8个数据位,n个停止位 1: 一个起始位,9个数据位,n个停止位 有效数

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包