首页 > 编程语言 >12C++循环结构-for循环(2)——教学

12C++循环结构-for循环(2)——教学

时间:2024-12-12 20:42:49浏览次数:4  
标签:语句 10 12 max C++ 素数 循环 水仙花

一、循环变量为字符型

试编一程序,按字典顺序输出26个字母。
流程图:

思考:先顺序输出26个小写英文字母,再逆序输出26个大写英文字母。
循环可以是递增型循环,也可以是递减型循环。

二、打擂台-for语句的另一种形式

问题:试编一程序,输入10个数,输出其中最大的数。
以前学过,输入三个数求最大值时,先假设第一个数为最大值,把它赋值给max;然后,第二个数和max比较,若比max大,就把第二个数赋值给max;接着,第三个数和max比较,若比max大,就把第三个数赋值给max,有点儿类似打擂台。求10个数中的最大值可以采用同样的方法,如图示。

流程图:

注:C++语言是很灵活的,可以把循环变量赋初值语句写在for循环语句前,也可以把循环变量增值语句写在循环体中。当循环体有多个语句时,就需要用“{}”把它们复合起来,成为一个整体。

三、break语句

问题:试编一程序,输入一个自然数,判断是不是素数。
素数,一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。如2,3,5,7,11,13,17等是素数,4,6,8,9,10,12,14,15等不是素数是合数,而1既不是素数也不是合数。
为了判断某数n是否为素数,一个最简单的办法是用2,3,4,5,·,n-1这些数逐个去除n,看能否除尽。只要能被其中的一个数除尽,n就不是素数,只有n不能被2~n-1之间的所有数除尽时才是素数。流程图如图

注:break 语句是提前结束整个循环过程,不再判断执行循环的条件是否成立。continue语句只是结束本次循环,而不是终止整个循环的执行。

四、数位分离

问题:水仙花素雅端庄,清秀俊逸,香气馥郁。数学上有一种数称为水仙数。所谓水仙花数是一个三位数,它等于自己各个数位上数字的立方和。如153,它百位上的数字是1,十位上的数字是5,个位上的数字是3,13+53+33是153,等于它自己,因此153是水仙花数。
试编一程序,求出所有的水仙花数。
求水仙花数,要先学会分离百位、十位、个位上的数。153/100可以得到百位上的数字,(153/10)%10或(153%100)/10可以得到十位上的数字,153%10可以得到个位上的数字。
水仙花数是一个三位数,可以通过for循环把100~999所有的三位数都枚举出来,然后对每一个数进行计算和判断,若是水仙花数则输出。流程图如下:

可以增加一个计数器变量count,用于统计水仙数的个数。

标签:语句,10,12,max,C++,素数,循环,水仙花
From: https://www.cnblogs.com/citStudy/p/18603407

相关文章

  • leetcode 125. 验证回文串
    125.验证回文串二刷,用时3ms,内存9.81MB一定要注意,是移除所有除了数字、字母以外的字符classSolution{public://'a'-'A'=32boolisPalindrome(strings){intleft=0,right=s.size()-1;while(left<right){while(left<......
  • 12.12 CW 模拟赛 T3. 消除贫困
    思路朴素容易发现一个人资金变化是这样的:对于\(op=1\)的情况,会将其直接变成\(x\)对于\(op=2\)的情况,将其变成\(\max(x,当前值)\)直接用线段树暴力的维护即可巧妙容易发现\(op=2\)相当于一个大保底,我们先倒着处理出每个人到\(i\)位置至少有多少......
  • 12.12 CW 模拟赛 T1. 理想路径
    前言作为一个别的不行抗伤无敌的\(\rm{man}\),区区反向\(\rm{rk\1}\)不足为惧\(\rm{HD0X}\)巨佬场切\(2700\),\(\%\%\%\)思路朴素先把考场上一些基础的想法搬过来考虑一个环什么时候会导致产生字典序负环,这个好像还比较显然,就是如果出去的那个点的字典序小......
  • C++ debug
    C++debug在C++中,查看程序的调用栈(CallStack)通常用于调试崩溃、性能问题或逻辑错误等场景。以下是几种常用的方法来查看调用栈:1.使用GDB调试器查看调用栈GDB(GNUDebugger)是Linux上非常流行的调试工具,可以用来查看C++程序的调用栈。示例:假设有以下C++程序:#includ......
  • 题解:P11380 [GESP202412 八级] 排队
    题目传送门题意概要有nnn个人排队,其中有mmm对人必须相邻且前......
  • 数据增强技术在医学图像处理中的应用场景及实例分析|个人观点·24-12-12
    小罗碎碎念知识星球答疑今天在知识星球里收到了一个用户的提问,我觉得这个问题比较具有代表性,所以专门写一篇推送分析一下数据增强在医学影像中的应用。提问的人没有给出具体的包,所以我只能介绍一下我自己处理数据增强问题的思路。我会更关注模型,其次才是包——我首选......
  • [C++] 继承详解
    目录前言演示用编译器及其标准DevC++6.7.5Redpanda C++14                           先 赞 后 看  养  成 习 惯  正文1、继承的概念与意义2、继承的使用 2.1继承的定义及语法2......
  • C++_运算符重载
    filesystemc++11在CMakeList.txtfind_package(BoostCOMPONENTSsystemfilesystemregexREQUIRED)include_directories(${Boost_INCLUDE_DIRS})target_link_libraries(projectname${Boost_LIBRARIES})程序#include<boost/filesystem.hpp>......
  • 2024/12/7【哈希表】 LeetCode453 四数相加II ,知识点:defaultdict,lambda函数,dict的get
    454.四数相加II-力扣(LeetCode)代码随想录(programmercarl.com)本题解题步骤:首先定义一个unordered_map(在python中为字典),key放a和b两数之和,value放a和b两数之和出现的次数。遍历大A和大B数组,统计两个数组元素之和,和出现的次数,放到map中。定义int变量count,用来统计a+b+......
  • 【2024-12-11】不如意之意
    20:00你必须活在每一件事情里。现在你要经历充满难题的生活,也许有一天,不知不觉,你将渐渐活出写满答案的人生。                                                 ——里尔......