一、求3个整数中最小值

(第20课 初识算法)

题目:输入三个整数,表示梨的重量,输出最小的数。

方法1:经过三次两两比较,得出最小值。

a<=b && a<=c min=a



b<=c && b<=a min=b



c<=b && c<=a min=c



流程图:

方法2:先找出a和b中较小的那个数,把较小的数赋值给min,然后再让min和c比较,找出最小值。



流程图:

方法3:先假设第一个数a为最小值,把它赋值给min;然后和第二个数b比较,若b比min小,就把第二数b赋值给min;再和第三个数c比较,若第三个数c比min小,就把三数c赋值给min,有点儿类似打擂台。



流程图:

注:通俗地讲,程序算法就是为解决某一特定问题而采取的具体有限的操作方法步骤。

二、3个数排序

(第21课 3个数排序)

问题:试编一程序,输入三个数,表示三匹马跑100米的秒数,时间越小速度越快,请将秒数按由小到大的顺序输出。

方法:



流程图:

三、随机函数rand()

(第22课 随机函数rand)

随机数rand()函数返回的值是一个大于等于0且小于等于RAND_MAX的随机整数,RAND_MAX是一个符号常量(通俗讲,符号量就是“替代”。即用一个标识符来代常量)它的值与操作系统、编译器等有关。若在Windows操作系统下的DevC+中其值为32767。若在Linux操作系统下的g++中其值为2147483647。在使用随机函数rand()前,需要包含cstdlib头文件,即#include<cstdlib>

*编程实验随机函数rand()的使用。

要产生真随机数,方法是:

(1)使用srand()来设置随机种子,srand(time(0))设置当前的系统时间值为随机种子;需要包含头文件ctime,即#include <ctime>

(2)要产生一个[a,b]的随机整数,就要使用通用公式:

rand()%(b-a+1)+a

rand()%5+1 //可以产生一个[1,5]的随机整数。

例题:试编一个程序,计算机随机产生一个整数(1至5),自己输入一个整数,若两数相同,则输出“恭喜你,中奖了!奖金10元”,否则输出“没中奖,请付费2元”;同时公布中奖号码。

流程图:



英汉小词典:

rand random(随机)的缩写

srand 设置随机种子

四、if语句的应用

(第23课 if语句的应用)

问题:周末,格莱尔和爸爸打车到游乐场玩。打车计价方案为:2千米内起步是6元;超过2千米之后按1.8元/千米计价;超过10千米之后在1.8元/千米的基础上加价50%,如图示。此外,停车等候则按时间计费每3分钟加收1元(注:不满3分钟不计费)。试编一程序,计算格莱尔需要付的打车费是多少?



流程图:



英汉小词典:

路程:path length

费用:cost

五、bug与debug

(第24课 bug与debug)

问题————体质指数(BMI)由19世纪中期比利时的通才凯特勒最先提出,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。它的计算方法如下:

体质指数(BMI)=体重(kg)/身高(m)的平方



以上标准只适合于成年人,试编一程序,根据体重、身高,判断其胖瘦程度。

流程图如下:



测试数据:①1.71 62

②-1.71 62

③20 165

本程序运行时输入的数据存在问题,如运行结果②输入负数,运行结果③输入不太现实的数据。任何一个程序,都是有数据范围要求的,超出了数据范围,程序可能就不对了。在参加全国青少年信息学奥林匹克联赛(NOIP)等竞赛上机编程时,会发现每道题目都会给出数据范围,这就要求我们在设计算法时,要根据数据范围做更加全面细致的考虑,否则程序会出现bug。说到bug,这背后有一个有趣的故事:有一天,美国海军准将、计算机女科学家、世界最早的一批程序设计师葛丽丝·霍波(Grace Hopper),在调试设备时出现故障,拆开继电器后,发现有一只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐地把程序故障统称为“臭虫(bug)”,把排除程序故障叫debug,而这奇怪的“称呼”,竟成为后来计算机领域的专业术语。

09C++选择结构(3)——教学的更多相关文章

  1. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

  2. C语言中的循环结构与选择结构

    1. 为什么使用循环? 重复执行某段代码 2. while(条件){ 循环体: } 当条件成立的时候就执行循环体,条件不成立,就退出循环,继续执行while后面的语句 3. for ( 初始表达式 : ...

  3. C- 流程控制(顺序结构,选择结构,循环结构)

    一.选择结构 1.if 特点: 同一时刻,只有一个大括号里面的代码会被执行 2,switch 特点 默认情况下,只有一个case后面的代码会被执行 如果一个case后面没有break,而且这个case ...

  4. 160809212田京诚C语言程序设计实验2 选择结构程序设计_进阶

    实验2-6 猜数字游戏 实验要求: 编写一个C程序实现一个[1-100]以内的猜数字游戏. (1)       系统随机产生一个[1-100]之间的随机数. (2)       输入任意一个数字.数字 ...

  5. 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...

  6. Java 第四章 选择结构2

    第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...

  7. Java 第三章 选择结构1

    选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...

  8. Chrome弹窗的简单应用(选择结构与循环结构)

    ★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图   ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用   比较大小 ★ 判断成绩等级 ): : : : : alert(" ...

  9. Java语法基础(三)----选择结构的if语句、switch语句

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  10. java中的if-Switch选择结构

    字随笔走,笔随心走,随笔,随心.纯属个人学习分析总结,如有观者还请不啬领教. 1.if选择结构 什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构. 起语法是: if(判断条件){ 操作 ...

随机推荐

  1. centos7 nginx+php7yum安装

    centos7 nginx+php7yum安装. 一.安装nginx 1.安装yum源 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/ ...

  2. kmemleak 和kasan 的区别

    kmemleak 和kasan 都是 Linux 内核中的一些工具和特性,用于帮助进行内存错误检测和修复.然而,它们之间有一些区别: 功能:kmemleak 用于检测内核中未释放的内存泄漏,它可以跟踪 ...

  3. 如何实现高效运维?来谈谈性能优化那些事(含直播回顾 Q&A)

    数据库性能问题,常常是困扰DBA高效运维的难题之一.如何多角度地帮助DBA,找到"数据库慢"的原因,保证系统高效.稳定.安全地运行? 2021年10月14日,云和恩墨技术顾问,拥有 ...

  4. ⼯作⾥中的token是怎么管理的?

    我们公司的token管理都是通过vuex配合本地存储来做的,使⽤vuex是因为token数据⽐较特殊,在很多 模块中都可能会⽤到,vuex⽅便管理,配合本地存储⽐如localstorage,是因为vu ...

  5. 0606-nn.functional

    0606-nn.functional 目录 一.nn.functional 和 nn.Module 的区别 二.nn.functional 和 nn.Module 结合使用 pytorch完整教程目录 ...

  6. OpenFunction 1.2.0 发布:集成 KEDA http-addon 作为同步函数运行时

    OpenFunction 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发.我们非常高兴地宣布 OpenFunction ...

  7. 记一次pip/pip3安装uwsgi报错

    背景 本来是想着在centos 7.9的主机上面部署一个flask应用,采用的方式是linux+nginx+uwsgi来进行发布,其他的都没有问题,但是在使用pip安装uwsgi时报错了,安装不成功, ...

  8. 在使用asm包进行动态类加载的时候的打包问题

    如图所示,开发时使用的jdk包下面的asm包,在进行打包时提示asm包不存在,打包方式使用如下: 目前提供两种解决方案: 1:修改打包方式,将jdk的包也打进去: <plugin> < ...

  9. Vue2.x 常用功能和方法

    Vue 生命周期 beforeCreate (组件实例刚被创建,组件属性计算之前,如 data 属性等) created (组件实例创建完成, 属性已绑定,但 DOM 还未生成, $el 属性不存在) ...

  10. 看图认识Javascript