C语言实验 函数一

news2024/12/15 5:32:47

时间:2024.12.14

6-1 弹球距离

double dist (double h,double p)
{
    double sum = h,height;
    height = h*p;
    while(height>=TOL)
    {
        sum += height * 2;        //上行下行都算,所以是两倍的距离。
        height *=p;
    }
    return sum;
}

6-2 使用函数输出一个整数的逆序数

错误代码:运行超时 

int reverse( int number ){
    int re=0,l;
    l=number;

    while(l!=0){
        re+=l%10;
         l=number/10;
    }
return re;
}
  1. 问题分析

    • 原代码中的问题在于循环条件和计算逆序数的逻辑有误。在原代码中,while循环的条件是l!=0,但是在循环体内部,l的值没有正确更新。每次循环时,l都被重新赋值为number/10,而不是l/10,这导致循环可能无法正确结束,从而导致运行超时。
    • 另外,计算逆序数的逻辑也不正确。原代码中re += l % 10只是将l的最后一位加到re上,并没有实现逆序的效果。

正确代码 

   int reverse(int number) {
       int re = 0;
       while (number!= 0) {
           re = re * 10 + number % 10;
           number /= 10;
       }
       return re;
   }
  • 在改正后的代码中,while循环的条件是number!= 0,并且在循环体内部,number的值正确地更新为number/10(这里使用/=运算符简化了代码)。
  • 计算逆序数的逻辑是re = re * 10+number % 10,这会将number的最后一位取出来并添加到re的最后一位,通过每次循环将re乘以 10 来实现逆序的效果。

6-3 使用函数求最大公约数

代码一

int gcd( int x, int y ){
    int re,min,i,max;
    min=x>y?y:x;
    max=x>y?x:y;
    for(i=min;i>1;i--){
        if(max%i==0&&min%i==0){
            re=i;
            break;
        }
    }
    if(x==1&&y==1){
        re=1;
    }
    return re;
}

 代码一思路分析

  • 原代码的思路是先找到xy中的较小值min和较大值max,然后从min开始递减循环,找到第一个能同时整除maxmin的数,即为最大公约数。如果xy都为 1,则直接返回 1。
  • 存在的问题是循环从min递减到 1,可能会进行较多不必要的计算。

代码二(

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2259752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言实现:用队列模拟栈与用栈模拟队列(LeetCode 225 232)】

LeetCode刷题记录 🌐 我的博客主页:iiiiiankor🎯 如果你觉得我的内容对你有帮助,不妨点个赞👍、留个评论✍,或者收藏⭐,让我们一起进步!📝 专栏系列:LeetCode…

STM32标准库学习之寄存器方法点亮LED灯

STM32C8T6最小系统开发板,点亮PC13引脚的LED灯 1.使能PC13引脚的定时器 PC13引脚为GPIOC组的第13个端口,GPIO的时钟使能定时器为RCC_APB2ENR,这是可以从手册中得出的,如下图所示 从下图可以得出,若要使能GPIOC端口&a…

探索 Echarts 绘图:数据可视化的奇妙之旅

目录 一、Echarts 初印象 二、搭建 Echarts 绘图环境 三、绘制第一个图表:柱状图的诞生 四、图表的美化与定制:让数据更具吸引力 1. 主题切换:一键变换风格 2. 颜色调整:色彩搭配的艺术 3. 标签与提示框:丰富信…

泷羽sec-burp(6)暴力破解与验证码识别绕过(下,验证码识别绕过0) 学习笔记

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&a…

docker快速实现ELK的安装和使用

目录 一、ELK功能原理 二、项目功能展示​ 三、日志查询展示​ 四、ELK安装步骤 1、创建elasticsearch、kibana、filebeat相关data、log、conf目录 2、进入/usr/local/elk目录,并创建一个docker网络 3、启动 elasticsearch容器 4、运行kibana容器 5、启动f…

onnx算子的注册详解及案例 (完整版)

文章目录 1. 介绍1.1 导出onnx不成功1.2 分析和解决方案2. 案例2.1 Asinh算子注册2.1.1 导出onnx2.1.2 算子注册2.2 自定义算子的注册2.1 直接导出自定义算子2.2 自定义算子的注册并导出2.3 导出带deformable conv 的onnx2.3.1 直接导出deformable conv2.3.2 注册并导出deforma…

数据结构_拓扑排序

拓扑排序 (所有点按照先后顺序排序) 1.先找到入度为0的点,记录之后,删除这个点和它的出边; 2.若有两个可选,随便选择一个 例 a的入度为0,选a [a] 随便选一个 [a,e] 再找入度为0的点 再选c 最后选d 拓…

在线项目管理工具内网怎么用

随着企业规模的扩大和项目管理复杂性的增加,许多公司已经开始使用在线项目管理工具来提高协作效率和项目透明度。然而,在企业内部网络环境下如何有效地使用这些工具,尤其是针对安全性、权限管理以及高效团队协作的问题,仍然是许多…

《自制编译器》--青木峰郎 -读书笔记 编译hello

在该书刚开始编译hello.cb时就遇到了问题。 本人用的是wsl,环境如下, 由于是64位,因此根据书中的提示,从git上下载了64位的cb编译器 cbc-64bit 问题一: 通过如下命令编译时,总是报错。 cbc -Wa,"--32" -Wl,"-…

使用C#和OPenCV实现圆形检测

文章目录 霍夫变换使用 OpenCV 和 C# 实现圆形检测 霍夫变换 在计算机视觉中,圆形检测是一个常见且有用的任务,特别是在物体识别、图像分析和图形处理等领域。OpenCV 是一个强大的开源计算机视觉库,它提供了许多工具来实现不同的图像处理功能…

数字图像处理(23):YUV444与YUV422

(1)在YUV颜色空间中,“Y”表示灰度,可以体现人眼对亮度的敏感程度,如果没有U和V信息,只有Y信息,图像仍然可以显示出来,只不过是灰色的;“U”和“V”表示色度,…

HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构

HQChart使用教程30-K线图如何对接第3方数据42-DRAWTEXTREL,DRAWTEXTABS数据结构 效果图DRAWTEXTREL示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont DRAWTEXTABS示例数据结构说明nametypecolorDrawVAlignDrawAlignDrawDrawTypeDrawDataFont 效果图 …

elasticsearch 使用Painless脚本

文章目录 1. 创建索引2. 插入模拟数据Painless 脚本的基本特点:Painless 脚本的常见用途1. 脚本查询和过滤示例:基于脚本的查询 2. 脚本字段示例:脚本字段 3. 聚合中的脚本示例:脚本聚合 4. 文档更新中的脚本示例:文档…

PHP搭建环境

一、安装apache 1、获取Apache安装软件 2、双击安装即可:指定对应的路径:E:server/apache 3、选择安装模式:使用自定义模式 4、选择安装位置 二、Apache的目录结构说明 三、Httpd.exe的详细应用 1、服务器进程:运行之后才能够工作

spring cloud contract http实例

微服务很多时,服务之前相互调用,接口参数的一致性要变得很难维护。 spring cloud contract 提供了测试接口一致性的方法。 一 项目配置 plugins {id "groovy"id "org.springframework.cloud.contract" version "4.0.5"i…

【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码

目录 一、数据格式 二、COG特点 三、使用GDAL生成COG格式的数据 四、使用ArcGIS Maps SDK for JavaScript加载COG格式数据 一、数据格式 COG(Cloud optimized GeoTIFF)是一种GeoTiff格式的数据。托管在 HTTP 文件服务器上,可以代替geose…

python数据分析之爬虫基础:解析

目录 1、xpath 1.1、xpath的安装以及lxml的安装 1.2、xpath的基本使用 1.3、xpath基本语法 2、JsonPath 2.1、jsonpath的安装 2.2、jsonpath的使用 2.3、jsonpath的基础语法 3、BeautifulSoup 3.1、bs4安装及创建 3.2、beautifulsoup的使用 3.3、beautifulsoup基本语…

【Python网络爬虫笔记】10- os库存储爬取数据

os库的作用 操作系统交互:os库提供了一种使用Python与操作系统进行交互的方式。使用os库来创建用于存储爬取数据的文件夹,或者获取当前工作目录的路径,以便将爬取的数据存储在合适的位置。环境变量操作:可以读取和设置环境变量。在…

TCP 为什么是 3 次握手 4 次挥手?

前言: TCP 的 3 次握手 4 次挥手是一个非常经典的问题,相信各位从事 Java 的朋友在职业生涯中没少被问到这个问题,本篇我们就展开分析一下 TCP 为什么是 3 次握手 4 次挥手。 TCP 协议 要搞清楚 TCP 为什么是 3 次握手 4 次挥手我们需要先…

智能客户服务:科技赋能下的新体验

在当今这个数字化时代,客户服务已经不仅仅是简单的售后服务,它已竞争的关键要素之一。随着人工智能、大数据、云计算等技术的飞速发展,智能客户服务正逐步改变着传统的服务模式,为企业和消费者带来了前所未有的新体验。 一、智能客…