NO.15十六届蓝桥杯备战|while循环|六道练习(C++)

ops/2025/2/14 0:29:37/

while循环

while语法形式

while 语句的语法结构和 if 语句⾮常相似,但不同的是 while 是⽤来实现循环的, if 是⽆法实现循环的。
下⾯是 while 循环的语法形式:

//形式1  
while ( 表达式 )语句;  //形式2
//如果循环体想包含更多的语句,需要加上⼤括号  
while ( 表达式 )  
{  语句1;语句2; ...  
}
执⾏流程

![[Pasted image 20250211171920.png]]

⾸先上来就是执⾏判断表达式,表达式的值为 0 ,循环直接结束;表达式的值不为 0 ,则执⾏循环语句,语句执⾏完后再继续判断,是否进⾏下⼀次判断。

实践

题⽬
使⽤ while 循环在屏幕上打印1~10的值

#include <iostream>
using namespace std;int main()
{int i = 1;while (i <= 10){cout << i << " ";i++;}return 0;
}

![[Pasted image 20250211172629.png]]

练习

反向输出一个四位数
#include <iostream>
using namespace std;char a, b, c, d;int main()
{cin >> a >> b >> c >> d;cout << d << c << b << a;return 0;
}
#include <iostream>
using namespace std;int n;int main()
{cin >> n;while (n){cout << n % 10;n /= 10;}return 0;
}
  1. 要想得到 n 的最低位,可以使⽤ n % 10 的运算,得到的余数就是最低位,如:1234 % 10 得到4
  2. 要想去掉n的最低位,找出倒数第⼆位,则使⽤ n = n / 10 操作就可以去掉最低位的,如: n=1234/10 得到 123 ,123相较于1234就去掉了最低位, 123%10 就得到倒数第⼆位 3 。
  3. 循环1和2两个步骤,在n变成0之前,就能到所有的位。
    1234%10 = 4
    1234/10 = 123
    123%10 = 3
    123/10 = 12
    12%10 = 2
    12/10 = 1
    1%10 = 1
    1/10 = 0
数位之和
#include <iostream>
using namespace std;int n;int main()
{int sum = 0;cin >> n;while (n){sum += n % 10;n /= 10;}cout << sum << endl;return 0;
}
小乐乐求和
#include <iostream>
using namespace std;int n;int main()
{cin >> n;int i = 1;long long sum = 0;while (i <= n){sum += i;i++;}cout << sum << endl;return 0;
}
#include <iostream>
using namespace std;long long n;int main()
{cin >> n;long long sum = 0;sum = n * (n + 1) / 2;cout << sum << endl;return 0;
}

注意数据范围,合理设置变量数据类型,1 ≤ n ≤ 10^9,那么求和的结果在int类型的变量中是⽆法保存的。

B2078 含 k 个 3 的数
#include <iostream>
using namespace std;long long m, k;int main()
{cin >> m >> k;long long i = 0;while (m){if (m % 10 == 3)i++;m /= 10;}if (i == k)cout << "YES" << endl;elsecout << "NO" << endl;return 0;
}

还是数据范围的问题,使⽤long long类型是合适的。

B2077 角谷猜想 - 洛谷
#include <iostream>
using namespace std;
#include <cstdio>long long x;int main()
{cin >> x;while (x != 1){if (x % 2 == 1){printf("%lld*3+1=%lld\n", x, x * 3 + 1);x = x * 3 + 1;}else{printf("%lld/2=%lld\n", x, x/2);x /= 2;}}cout << "End" << endl;return 0;
}
#include <iostream>  
using namespace std;  
int main()  
{  long long n = 0;  cin >> n;  while (n != 1)  {  if (n % 2 == 1)  {  cout << n << "*3+1=" << n * 3 + 1 << endl;  n = n * 3 + 1;  }  else  {  cout << n << "/2=" << n / 2 << endl;  n /= 2;  }  }  cout << "End" << endl;  return 0;  
}
B2080 计算多项式的值
#include <iostream>
using namespace std;
#include <cstdio>double x;
int n;int main()
{cin >> x >> n;double ret = 1;double tmp = 1;while (n--){tmp *= x;ret += tmp;}printf ("%.2lf\n", ret);return 0;
}

http://www.ppmy.cn/ops/158175.html

相关文章

最新消息 | 德思特荣获中国创新创业大赛暨广州科技创新创业大赛三等奖!

2024年12月30日&#xff0c;广州市科技局公开第十三届中国创新创业大赛&#xff08;广东广州赛区&#xff09;暨2024年广州科技创新创业大赛决赛成绩及拟获奖企业名单&#xff0c;德思特获得了智能与新能源汽车初创组【第六名】【三等奖】的好成绩&#xff01; 关于德思特&…

Vim操作笔记

注&#xff1a;本篇文章是追加笔记&#xff0c;用于记录自己的常用操作。 将文本中A字符串替换成B字符串 基本语法&#xff1a; :{范围}s/{目标}/{替换}/{标志} 作用范围 分为前行(:s)、全文(:%s)、选区(:start,ends)等。选区可以在Visual模式下选择区域后输入&#xff1a…

大数据和数据科学——解锁数据潜力,驱动创新与洞察

在当今数字化时代&#xff0c;数据量呈爆炸式增长&#xff0c;大数据和数据科学已成为企业获取竞争优势、推动创新和实现业务转型的关键技术。《DAMA数据管理知识体系指南&#xff08;第二版&#xff09;》的第十四章深入探讨了大数据和数据科学的定义、业务驱动因素、活动、工…

在远程 Linux 服务器上运行 Jupyter Notebook(.ipynb 文件)

由于有的服务器没有浏览器&#xff0c;可以考虑通过 VScode 将远程服务器上的服务转发到本地计算机&#xff0c;然后在本地计算机的浏览器中运行远程服务器上的 ipynb 代码&#xff0c;实现交互式 Python 编程。。 安装 Jupyter&#xff1a; 如果没有安装 Jupyter&#xff0c;可…

性格测评小程序01需求分析

目录 1 MBTI 性格测评工具2 MBTI 的四个核心维度3 测评搭建的思路3.1 【外向 vs 内向&#xff08;E/I&#xff09;】&#xff08;10 题&#xff0c;每题得分范围&#xff1a;0.5&#xff5e;3.2&#xff0c;较高数值表示偏向外向&#xff09;3.2 【感觉 vs 直觉&#xff08;S/N…

Delphi语言的云计算

Delphi语言的云计算应用探索 引言 随着信息技术的迅猛发展&#xff0c;云计算已经成为现代计算机科学中一个不可或缺的重要组成部分。云计算不仅改变了企业的IT基础设施部署方式&#xff0c;还开启了新一轮的经济发展模式。开发者们也在积极寻找合适的编程语言&#xff0c;以…

技术革新让生活更便捷

量子通信是一种利用量子力学原理进行信息传递的技术。它的基本原理是量子纠缠和量子密钥分发。量子纠缠指两个粒子即使相隔很远&#xff0c;一个粒子的状态改变会立刻引起另一个粒子状态的相应变化。量子密钥分发则是通过量子态传输实现加密密钥的安全交换。 在信息安全领域&a…

本地安装了mysql导致phpstudy无法启动

问题截图如下&#xff1a;MySQL无法启动 解决办法&#xff1a; 第一步&#xff1a;打开“控制面板” >管理工具>服务 搜索mysql 找到服务并关闭 如图 第二步&#xff1a;以管理员身份运行cmd&#xff08;很重要&#xff09; 输入 sc delete mysql 第三步&#xff1a;再…