12C++循环结构-for循环(2)
一、循环变量为字符型
试编一程序,按字典顺序输出26个字母。
流程图:

程序代码如下:
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
char i;
for (i='a';i<='z';i++)//循环变量可以是整数,也可以是字符。
{
cout<<i<<' ';
}
return 0;
}
思考:先顺序输出26个小写英文字母,再逆序输出26个大写英文字母。
循环可以是递增型循环,也可以是递减型循环。

#include <iostream>
using namespace std;
int main()
{
char i;
for(i='a'; i<='z';i++)
cout<<i<<' '; //''中有一个空格
cout<<endl;
for(i='Z';i>='A';i--)
cout<<i<<''; //''中有一个空格
return 0;
}
运行结果:
a bcde fgh ijk Im n o pqrs tuv w xy z
ZYXWVUTSRQPONMLKJIHGFEDCBA
练习:
(1)字符型变量n,其初值为'a',则表达式n+3的值是()。
A.65 B.68 C.'a' D.100
(2)阅读程序写结果。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int x,y;
char i,ans;
for (i='a';i<'f';i++)
{
x=i-'a'+1;
if (x%2==1) y=i+1;
else y=i-1;
ans=y;
cout<<ans;
}
return 0;
}
x,y,i,ans的输出:_____________________
(3)完善第11,15行程序
按字典顺序输出大小字典对照表,先输出一个大写字典,再输出一个小写字母,即AaBbCcDd.......Zz。
4 #include <iostream> //包含输入输出流头文件iostream
5 using namespace std; //指明程序 使用命名空间std(标准)
6 int main()
7 {
8 int n;
9 char i,j;
10 n='a'-'A';
11 for (i='A'; ;i++)
12 {
13 cout<<i;
14 j=i+n;
15 ;
16 }
17 return 0;
18 }
二、打擂台-for语句的另一种形式
问题:试编一程序,输入10个数,输出其中最大的数。
以前学过,输入三个数求最大值时,先假设第一个数为最大值,把它赋值给max;然后,第二个数和max比较,若比max大,就把第二个数赋值给max;接着,第三个数和max比较,若比max大,就把第三个数赋值给max,有点儿类似打擂台。求10个数中的最大值可以采用同样的方法,如图示。

流程图:

#include <iostream>
using namespace std;
int main()
{
float max,x;
int i;
cout<<"请输入第1个数:";
cin>>x;
max=x;
i=2;
for(;i<=10;i++)
{
cout<<"请输入第"<<i<<"个数:";
cin>>x;
if(x>max) max=x;
}
cout<<"最大的数:"<<max;
return 0;
}
注:C++语言是很灵活的,可以把循环变量赋初值语句写在for循环语句前,也可以把循环变量增值语句写在循环体中。当循环体有多个语句时,就需要用“{}”把它们复合起来,成为一个整体。
练习:
(1)从ENIAC到当前最先进的计算机,冯·诺依曼体系始终占有重要的地位。冯·诺依曼体系结构的核心内容是()。
A.采用键盘输入
B.采用半导体器件
C.采用存储程序和程序控制原理
D.采用开关电路
(2)阅读程序写结果。
#include <iostream>
using namespace std;
int main()
{
long long i, ans=20;
i=2;
for(;i<ans;)
{
ans-=i;
i+=3;
}
cout<<"i="<<i<<' '<<"ans="<<ans<<endl; //''中有一个空格
return 0;
}
i,ans输出:_______________________
3.完善程序。
输入n个数,输出最小的数。
#include <iostream>
using namespace std;
int main()
{
float min,x;
int i, n;
cout<<"n=";
____________;
cout<"请输入第1个数:";
cin>>x;
min=x;
for(i=2;_________;i++)
{
cout<"请输入第"<<i<"个数:";
cin>>x;
if(___)min=x;
}
cout<<"最小的数:"<< min;
return 0;
}
三、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之间的所有数除尽时才是素数。流程图如图

#include <iostream>
using namespace std;
int main()
{
long long i,n;
bool flag;
cout<<"n=";
cin>>n;
flag=true;
for(i=2;i<n;i++)
if(n%i==0)
{
flag=false;
break;
}
if(flag) cout<<"是素数";
else cout<<"不是素数";
return 0;
}
注:break 语句是提前结束整个循环过程,不再判断执行循环的条件是否成立。continue语句只是结束本次循环,而不是终止整个循环的执行。
练习:
(1)在计算机中,Pentium(奔腾)、酷睿、赛扬等是指()。
A.显示器的型号
B.硬盘的型号
C.CPU的型号
D.生产厂家名称
(2)阅读程序写结果。
#include <iostream>
using namespace std;
int main()
{
int i, p, ans=0;
p=1;
for(i=1;i<400;i+=3)
{
p*=i;
ans+=p:
if(ans>=25)break;
}
cout <<"ans="<< ans <<endl;
returm 0;
}
i,p,ans输出:________________
(3)完善程序。
输入一个数,判断其是不是素数。
#include <iostream>
using namespace std;
int main()
{
int count=0;
long long i, n;
_________________;
for(i=2; i<n;i++)
if(n%i==0)count++;
if(___)cout<"素数";
else cout<<"不是素数";
return 0;
}
四、数位分离
问题:水仙花素雅端庄,清秀俊逸,香气馥郁。数学上有一种数称为水仙数。所谓水仙花数是一个三位数,它等于自己各个数位上数字的立方和。如153,它百位上的数字是1,十位上的数字是5,个位上的数字是3,13+53+33是153,等于它自己,因此153是水仙花数。
试编一程序,求出所有的水仙花数。
求水仙花数,要先学会分离百位、十位、个位上的数。153/100可以得到百位上的数字,(153/10)%10或(153%100)/10可以得到十位上的数字,153%10可以得到个位上的数字。
水仙花数是一个三位数,可以通过for循环把100~999所有的三位数都枚举出来,然后对每一个数进行计算和判断,若是水仙花数则输出。流程图如下:

#include <iostream>
using namespace std;
int main()
{
int ge,shi,bai,i;
cout<<"水仙花数"<<endl;
for(i=100;i<1000;i++)
{
bai=i/100;
shi=(i/10)%10;
ge=i%10;
if (bai*bai*bai+shi*shi*shi+ge*ge*ge==i)
cout<<i<<" ";
}
return 0;
}
可以增加一个计数器变量count,用于统计水仙数的个数。
练习:
(1)计算机有计算功能,那么这个“计算”是在( )中完成的。
A.内存 B.中央处理器 C.硬盘 D.显卡
(2)阅读程序写结果。
#include <iostream>
using namespace std;
int main()
{
int a0=0, al=1, a2, i, n;
cin>>n;
for(i=2;i<n;i++)
{
a2=a0+al;
cout << a2 << endl;
a0=al;
al=a2;
}
return 0;
}
输入:5
a0,a1,a2,i,n输出为__________________________
(3)完善程序。
“消消乐”是一款老少皆宜的益智类游戏,游戏规则是找出三张及以上相同的连在一起的牌就可以消除。请编程找出三位数中可以玩“消消乐”的数,即个位、十位与百位上的数字相同。如222可以消除,123无法消除。
#include <iostream>
using namespace std;
int main()
{
int ge, shi, bai, i;
for(i=100;i<1000;i++)
{
_________________;
shi=(i/10)%10;
ge=i%10;
if(______)
cout <<i<<endl;
}
return 0;
}
12C++循环结构-for循环(2)的更多相关文章
- GO学习笔记 - Go 只有一种循环结构—— for 循环。
一,Go 只有一种循环结构—— for 循环. 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构—— for 循环. 基本的 for 循环包含 ...
- Lua循环结构while循环、repeat 循环、for循环_学习笔记03
Lua循环结构while循环.repeat 循环.for循环 while语法结构 while 循环条件 do 循环体 end --1.输出1到100 index = do print(index) ...
- 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述
039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...
- 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...
- python4 分支结构,循环结构 for循环
## 复习 ```python'''1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开 ...
- 循环结构-for循环和while循环
循环语句1--for for循环语句格式: for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ } 执行流程 执行顺序:①②③④>②③④>②③④-②不满足为止. ①负责完 ...
- C语言-循环结构及break、continue
循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...
- [java基础]循环结构1
[java基础]循环结构1 循环结构:for循环,while循环,do_while循环在,增强型for循环 /** 文件路径:G:\JavaByHands\循环语句\ 文件名称:WhileTest.j ...
- Java 第五章 循环结构1
循环结构 1 while 循环结构 ,do- while 循环结构 . 循环结构: 必须满足两个条件 . 1,循环条件 和 循环 操作 ! while 循环 特点:先判断,再执行 , 编码规范:缩进, ...
- Chrome弹窗的简单应用(选择结构与循环结构)
★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图 ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用 比较大小 ★ 判断成绩等级 ): : : : : alert(" ...
随机推荐
- SQL Server的Descending Indexes降序索引
SQL Server的Descending Indexes降序索引 背景索引是关系型数据库中优化查询性能的重要手段之一.对于需要处理大量数据的场景,合理的索引策略能够显著减少查询时间. 特别是在涉及多 ...
- SXYZ-6.28训练赛
今天上午出中考成绩,所以下午打了一场训练赛,只有两个小时,没有昨天毒瘤,但也很毒瘤(还是模拟赛好) 关于中考可以看我的中考游记 (为了保护隐私,以后都把姓名涂掉) 为什么还是倒数啊~ T1 binar ...
- 立足信创国产化运维,打造安全可控IT运维管理系统
随着国产化信创应用试点行业的不断扩大,应用信创产品的企事业单位逐渐增多.大多数企业均面临着陌生的国产化环境与产品,其使用习惯和解决问题的方式都面临改变.北京智和信通切实立足用户需求,提供信创运维服务. ...
- war3辅助代码及运行方式
打开VS2019 点这个 自动生成这么一堆代码,全删了,就剩这些就行 然后点这里 然后向CPP里粘贴以下代码 #include "tlhelp32.h" HANDLE hwnd = ...
- std::vector 和 std::map 都支持以下比较运算符
在 C++ 标准库中,std::vector 和 std::map 都支持以下比较运算符: ==(相等运算符) !=(不等运算符) <(小于运算符) <=(小于等于运算符) >(大于 ...
- 高通ADSP USB流程
在高通平台上,ADSP(Audio Digital Signal Processor,音频数字信号处理器)可以通过 USB 接口与主机进行数据传输,以下是大致的 ADSP USB 流程: 主机发起 U ...
- day11-基本运算符
运算符 java语言支持如下运算符: 优先级 ( 多敲,多练习 ) 算术运算符:+,-,*,/,%(模运算:取余),++,-- package operator; public class De ...
- 为 KubeSphere 集群启用免费的泛域名 SSL 证书并实现证书自动更新和分发
作者:scwang18,主要负责技术架构,在容器云方向颇有研究. 前言 KubeSphere 集群默认安装的证书是自签发证书,浏览器访问访问会发出安全提醒.本文记录了利用 let's encrytp ...
- Chrome使用回退,出现表单提交失败,ERR_CACHE_MISS问题
是什么.为什么.怎么办 "ERR_CACHE_MISS" 错误通常发生在你使用浏览器的"返回"按钮时.这种错误与浏览器处理缓存数据的方式有关,特别是在处理表单和 ...
- LaMI-DETR:基于GPT丰富优化的开放词汇目标检测 | ECCV'24
现有的方法通过利用视觉-语言模型(VLMs)(如CLIP)强大的开放词汇识别能力来增强开放词汇目标检测,然而出现了两个主要挑战:(1)概念表示不足,CLIP文本空间中的类别名称缺乏文本和视觉知识.(2 ...