首页 > 编程语言 >09C++选择结构(3)——教学

09C++选择结构(3)——教学

时间:2024-11-15 20:47:15浏览次数:1  
标签:rand 流程图 min 09 程序 C++ 教学 随机 整数

一、求3个整数中最小值

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

方法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个数排序

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

流程图:

三、随机函数rand()

随机数rand()函数返回的值是一个大于等于0且小于等于RAND_MAX的随机整数,RAND_MAX是一个符号常量(通俗讲,符号量就是“替代”。即用一个标识符来代常量)它的值与操作系统、编译器等有关。若在Windows操作系统下的DevC+中其值为32767。若在Linux操作系统下的g++中其值为2147483647。在使用随机函数rand()前,需要包含cstdlib头文件,即#include
*编程实验随机函数rand()的使用。
要产生真随机数,方法是:
(1)使用srand()来设置随机种子,srand(time(0))设置当前的系统时间值为随机种子;需要包含头文件ctime,即#include
(2)要产生一个[a,b]的随机整数,就要使用通用公式:
rand()%(b-a+1)+a
rand()%5+1 //可以产生一个[1,5]的随机整数。
例题:试编一个程序,计算机随机产生一个整数(1至5),自己输入一个整数,若两数相同,则输出“恭喜你,中奖了!奖金10元”,否则输出“没中奖,请付费2元”;同时公布中奖号码。
流程图:

英汉小词典:
rand random(随机)的缩写
srand 设置随机种子

四、if语句的应用

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

流程图:

英汉小词典:
路程:path length
费用:cost

五、bug与debug

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

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

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

标签:rand,流程图,min,09,程序,C++,教学,随机,整数
From: https://www.cnblogs.com/citStudy/p/18548632

相关文章

  • 08C++选择结构(2)
    一、逻辑变量教学视频存储类似灯亮或灯灭、是男还是女等结果只有两种可能的数据时,可以使用逻辑型变量。逻辑型变量用关键字bool定义,所以又称为布尔变量,其值只有两个false(假)和true(真),false和true是逻辑常量,又称布尔常量。流程图如下:#include<typeinfo>//变量类型头文件,还......
  • 初级数据结构——栈题库(c++)
    目录前言1.杭电oj——Bitset2.杭电oj——进制转换[3.力扣——LCR123.图书整理I](https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/description/)[4.力扣——LCR027.回文链表](https://leetcode.cn/problems/aMhZSa/)[5.力扣——1614.括号的......
  • C++语言之旅【0】---(最通俗易懂的入门文章!!!)
    本章概述C++发展历史C++的重要性体现C++学习建议和书籍推荐C++的输入&输出彩蛋时刻!!!C++发展历史简介:在C语言的学习中咱们讲过了C语言的发展史,让大家对C语言有了感性的认知。现在咱们也延续传统——从C++的发展史讲起。C++的起源可以追溯到1979年,当时BjarneStroustrup......
  • 【DEV-C++创建分文件项目】【零基础 小白 可上手的清晰易懂教程!】
    DEV-C++创建项目【DEV-C++创建项目】1、首先创建一个项目文件夹2、再点击创建的文件夹,在里面创建几个分类文件3、打开DEV-C++,然后点击【新建项目】4、选择Basic中的【ConsoleApplication】,选择【C++】,再写入自己要建立的【项目名称】5、创建完毕后将其放入到刚刚创建......
  • C++编程:实现一个简单的消息总线
    文章目录0.引言1.设计思路1.1关键类设计1.2类图1.3时序图1.4流程图2.代码结构与设计2.1消息回调与订阅项2.2消息总线类`MessageBus`2.3定时任务调度器`PeriodicTaskScheduler`3.核心功能实现3.1消息发布3.2超时检查4.测试代码0.引言在之前的文......
  • 【C++】list 类深度解析:探索双向链表的奇妙世界
    ......
  • C++命名空间介绍、定义、作用、是否允许嵌套
    本文章代码块默认为写了std命名空间的条件下,所以代码里面的输出直接写了cout,没写作用域什么是c++命名空间C++命名空间是一种机制,用于解决全局变量名或函数名之间的冲突问题。它可以将一组相关的变量、函数和类组织在一起,形成一个独立的命名空间,避免命名冲突。命名空间通过在......
  • 什么是 C++ 中的常量表达式? 有什么用途?and如何判断一个表达式是否是常量表达式?
    参考文献:constexpr介绍以及与const的区别-CSDN博客定义在C++中,常量表达式是一种在编译期间就能计算出结果的表达式。字面量常量:如整数字面量(1、2、3等)、字符字面量('a'、'b'等)、布尔字面量(true、false)和浮点字面量(3.14、2.718等)。例如,表达式3+4中的3和4就是整数字面量,整......
  • 【C++源码编译】
    C++源码到二进制可执行文件的过程与C语言类似,包括四个过程:预编译、编译、汇编、链接1、预编译C/C++编译过程中的第一个阶段,主要目的是对源代码进行处理和准备工作。下面是预编译的主要步骤:去除宏定义:将所有的#define删除,并展开所有的宏定义,将宏替换为具体的值或表达......
  • 2020年计挑赛往届真题(C++)
    因为17号要开赛了,甚至是用云端编辑器,debuff拉满,只能临时抱佛脚了各个选择题的选择项我就不标出来了,默认ABCD排,手打太麻烦了目录单选题:1.阅读以下语句:doublem=0;for(inti=3;i>0;i--)m+=1/i;将m保留三位小数输出,结果为()2.下列选项中,不是C++关键字的是()    3.下列选......