当前位置: 首页 > news >正文

第11次课 while循环

课堂学习

while执行流程

使用while循环

练一练

小总结

1.for循环和while循环都可以有循环变量、循环条件、循环步长。
2.for循环和while循环中的循环体可以为一条语句或复合语句。
3.for循环能够实现的功能while循环也可以实现(两种循环可以互相转换)。

应用场景

1、循环次数已知时,一般使用for循环:
·比如:求班里n名学生的总分
·比如:计算1~n的数字之和
2、循环次数未知时,一般使用while循环:
·比如:计算任意整数各个数位上的数字之和
·比如:登录时输入密码,输入错误则重复输入,直至正确为止

do while 

语法格式

练一下



课堂训练

3165 角谷猜想

描述

数学界有这样一种猜想:对于每个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,得到的结果再按照上述规则重复处理,最终都能得到1。
该思想最开始流传于美国,不久传到欧洲,后来由一位叫角谷的日本人带到亚洲,因此被称为“角谷猜想”。
角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终都能够得到1。编写程序验证角谷猜想,要求输入一个正整数,将经过处理得到1的过程输出来。

输入描述

一个正整数 n(1≤n≤2000000)。

输出描述

计算过程中的所有整数。

样例输入 1 

5

样例输出 1 

5 16 8 4 2 1

样例输入 2 

10

样例输出 2 

10 5 16 8 4 2 1

提示

数据范围与提示

1≤n≤2000000

#include <iostream>
using namespace std;
int main(){//接收输入的整数int n;cin>>n;//循环计算n的值while(n!=1){cout<<n<<" ";if(n%2==1)n=n*3+1;elsen=n/2;}//输出n最后的值cout<<n;return 0;
}

3168 书香阁的座位数

输入描述

输出描述

多行;
每行三个整数,分别表示第几排、座位数、总数,使用空格隔开。

样例输入 1 

样例输出 1 

1 15 15
2 17 32
3 19 51
4 21 72
5 23 95
6 25 120
7 27 147
8 29 176
9 31 207
10 33 240
11 35 275
12 37 312
#include <iostream>
using namespace std;
int main(){int sum,p,x;p=1; //第几排x=15; //这一排的座位数sum=x; //座位总数//循环输出while(sum<=312){cout<<p<<" "<<x<<" "<<sum<<endl;p++;x+=2;sum+=x;}return 0;
}

3163 数字加加乐 

描述

童童和美美很喜欢玩“加加乐”游戏,游戏规则是一方报出一个正整数(不能超过6位数),另一方说出该数的各个数位之和。比如:童童说12,美美就说3;童童说567,美美就说18。
请编写一个程序,输入一个正整数,输出它的各个数位之和。

输入描述

一行,一个正整数 n(1≤n<100000)。

输出描述

输出数字 n 各个数位上的数字相加后的结果。

样例输入 1 

12

样例输出 1 

3

样例输入 2 

1234

样例输出 2 

10

提示

数据范围与提示

1≤n<10000

#include <iostream>
using namespace std;
int main(){//接收输入的整数int n;cin>>n;int sum=0;//记录累加和//循环运算while(n!=0){sum+=n%10;n=n/10;}cout<<sum;return 0;
}

3164 输出位数 

描述

输入一个正整数,输出该数的位数。

输入描述

一行,一个正整数 n(1≤n≤100000)。

输出描述

一个正整数,表示位数。

样例输入 1 

789

样例输出 1 

3

样例输入 2 

45566

样例输出 2 

5

提示

数据范围与提示

1≤n≤100000

#include <iostream>
using namespace std;
int main(){//接收输入的整数int n;cin >> n;int cnt=0;//记录数字位数//循环计算while(n!=0){n=n/10;cnt++;}cout<<cnt;	return 0;
}

3621 产品质检

描述

大嘴猴的工厂生产了一批大嘴猴图案的T恤,T恤需要进行人工质检,工人会给每个T恤标注质检分数(1~100)。如果质检分数小于等于60则为劣质产品,需要被工厂回收。现在工厂想要统计出需要被回收的产品数量,但是每次质检的T恤数量是不确定的。
请编写程序,输入每个T恤的质检分数,输入以0结尾,输出需要被回收的产品数量。

输入描述

一行,若干个正整数x,代表每个T恤的质检分数,以0结尾。 (1≤x≤100)

输出描述

一行,一个整数,代表需要被回收的产品数量。

样例输入 1 

50 80 98 54 93 100 88 0

样例输出 1 

2
#include <iostream>
using namespace std;int main(){//记录质检分数int x;//记录回收产品数量int cnt=0;//循环输入统计do{cin >> x;if(x<=60) cnt++; }while(x!=0);//输出cout << cnt-1;return 0;
}

3646 数组元素求和

描述

现有一个长度为n的整型数组,需要将对应位置上的元素相加,相加规则如下:
例1:数组长度为10,数组元素为1,2,3,4,5,6,7,8,9,10。1和10相加,2和9相加,3和8相加…5和6相加。
例2:数组长度为5,数组元素为1,2,3,4,5。1和5相加,2和4相加,3和3相加。

输入描述

第一行,一个正整数n,代表数组长度(1≤n≤1000);
第二行,n个整数(0≤整数≤1000)。

输出描述

依次输出若干个元素相加之后的结果,中间使用空格分隔。

样例输入 1 

6
1 4 6 2 3 8

样例输出 1 

9 7 8

样例输入 2 

7
1 4 6 5 2 3 8

样例输出 2 

9 7 8 10
#include <iostream>
using namespace std;int main(){int n;cin>>n;//循环接收数组元素int a[1000]={0};for(int i=0;i<n;i++){cin>>a[i];}//记录相加的数组元素的下标int start=0;int end=n-1;while(start<=end){cout<<a[start]+a[end]<<" ";start++;end--;}return 0;
}

尝试挑战

3668 肥宅快乐水

#include <iostream>
using namespace std;
int main(){int n;cin>>n;int sum,p,x;p=1; //第几人x=2; //这一人分得的数量sum=x; //实际总数while(sum<=n){cout<<p<<" "<<x<<" "<<endl;p++;x+=2;sum+=x;}return 0;
}

3677 猴子吃桃

#include <iostream>
using namespace std;
int main(){int n;cin>>n;int a=1;while(n>1){a = (a + 1) * 2;n--;}cout<<a;return 0;
}

相关文章:

  • 第三方检测机构如何凭借专业公正保障软件质量?资质有哪些?
  • 深入解析Java组合模式:构建灵活树形结构的艺术
  • PostgreSQL windows安装
  • 【AI Study】第三天,Python基础 - 同NumPy类似的类库
  • Global Securities Markets 第二章知识点总结
  • 英语六级-阅读篇
  • 嵌入式学习 D27:系统编程--进程
  • ind_knn_ad环境搭建和运行【用自己的数据集】
  • MySQL(36)如何使用CASE进行条件表达式?
  • dify_plugin数据库中的表总结
  • Typescript学习教程,从入门到精通,TypeScript 进阶语法知识点及案例代码详解(13)
  • 【解读—论文】引导性掩码表示学习以捕捉心电图的时空关系
  • 前端面试宝典---项目难点1-leaflet大数据量渲染优化
  • MATLAB在逐渐被Python淘汰吗
  • 计算机系统简介(一)
  • 《计算机组成原理》——第二章-10 现代计算机的总线结构
  • 2.7 寸 微雪墨水屏使用方法,及测试用例
  • LLM之Agent:Mem0的简介、安装和使用方法、案例应用之详细攻略
  • 《帝国时代1》游戏秘籍
  • Javase 基础加强 —— 07 File
  • 什么网站可以找试卷做/房地产估价师考试
  • 网站开发语言排名/百度搜索引擎的原理
  • i岗网站建设/创建网站要钱吗
  • 做网站什么都不懂 怎么做/域名排名查询
  • 推荐微信网站建设/网页搜索关键词
  • 广东工程造价信息网/快速seo优化