C++ while循环
教程导读
学研发网的这篇信息学奥赛技术教程文章主要介绍了C++ while循环,现在分享给大家,供学习和参考。文章包含1982字,纯文字阅读大概需要5分钟。
教程信息
学习目标
熟练掌握while循环
掌握练习题目
while
循环也是循环,只是用不同的关键词和不同的语法而已。
while
循环适用于不确定循环次数,只要满足条件就会一直执行。它通过检查循环条件来决定是否继续循环。
一、while
循环的语法
while(判断条件){ 循环体代码; 修改条件; }
1、while
是C++的关键字。通过这个关键字表明这是一个while循环;
2、需要()
和 {}
。()
中只有判断条件,{}
中是循环体,可以有多条语句;
3、判断条件,如果为 true
,那么就会执行 循环体代码,否则循环就结束;
4、一般我们要在循环体代码中修改条件,否则容易出现死循环;
在这里要注意每个语句执行的次数和顺序。
1、初始化语句一般在while
之前就做好了;
2、然后判断条件是否为 true
,如果为 true
,则执行循环体代码块;
3、执行循环体代码块;
(流程图)
二、代码案例讲解
int i = 0; while (i < 5) { // 在这里编写你要重复执行的代码 cout << "你好,学研发网。" << i << endl; // 需要确保循环条件会在某个时刻不满足,否则会陷入无限循环(死循环) i++; } cout << "循环结束后的代码" << endl;
执行流程:
初始化 i = 0
判断 i < 5 吗?
执行 cout 的代码块
修改i的值(i++)
第1次循环结束
判断 i < 5 吗?
执行 cout 的代码块
修改i的值(i++)
第2次循环结束
依次继续下一次执行,直到 i = 5 结束循环
三、编程练习
练习:循环相加。
使用 while 循环完成,1 + 2 + 3 + ... + n 的和,其中 n 为提示输入的数字;
输入输出:
【输入描述】输入数字n 【输出描述】输出循环相加的结果 【样例输入】100 【样例输出】5050
参考代码:
#include <iostream> using namespace std; int main(){ cout << "请输入一个数字:" << endl; int n; cin >> n; int j = 0; int jieGuo = 0; while(j <= n){ jieGuo = jieGuo + j; j++; } cout << "你输入的是:" << n << ",求和是:" << jieGuo <<endl; return 0; }
执行结果:
练习:累加到第几项达到峰值。
输入整数n,求1+2+3...在第几项时结果超过预设的峰值n。
输入输出:
【输入描述】输入一个整数n 【输出描述】输出一个整数,表示刚超过n时的数值 【样例输入】300 【样例输出】25
参考代码:
#include <iostream> using namespace std; int main( ) { int n,qiuHe=0,i=1; cin>>n; while(qiuHe<=n) { qiuHe=qiuHe+i; printf("循环第%d次,和为%d\n",i,qiuHe); i++; } cout<<i-1; return 0; }
执行结果:
练习:求若干整数的平均值。
输入若干个正整数,以0结尾,求这些整数的平均值(整除)。
输入输出:
【输入描述】若干个空格隔开的整数,以0结尾 【输出描述】输出一个整数,表示输入整数的平均值 【样例输入】11 21 33 98 0 【样例输出】40
参考代码:
#include<iostream> using namespace std; int main( ) { int shuzi,qiuhe=0,shuliang=0; cin>>shuzi; while(shuzi!=0) { shuliang++; qiuhe+=shuzi; cin>>shuzi; } cout<<qiuhe/shuliang; return 0; }
执行结果:
练习:班级排队游戏。
班级有n个人,进行一场排队游戏,第一行排1个人,第二行2个人,第三行3个人,......,下一行的人数总是比上一行多一个人,如果最后的人数不够则停止排队。求排了几行,余下几个人。
输入输出:
【输入描述】输入班级的人数n 【输出描述】输出排的行数,输入余下的人数。 【样例输入】60 【样例输出】10 5
参考代码:
using namespace std; int main( ) { int n; int renShu=1; int hangShu=0; cin>>n; while(renShu<=n) { hangShu++; n-=renShu; cout<<renShu<<"-"<<n<<endl; renShu+=1; } cout<<"行数:"<<hangShu<<endl; cout<<"余数:"<<n<<endl; return 0; }
执行结果:
教程咨询
如果章节内容看不懂,可以联系作者。
教程总结
以上是学研发网为您提供C++ while循环的全部内容,希望教程文章能够帮你了解学习C++ while循环,解决所遇到的问题。 如果觉得学研发网信息学奥赛教程内容还不错,欢迎将学研发网网站推荐给身边需要的人。
教程备注
版权声明:教程内容为学研发网整理和编写,如需转载请联系站长并附上文章原始链接和原始作者信息。
手机阅读
扫描二维码推送至手机访问。
本文链接:http://www.xueyanfa.com/xinaojiaocheng/xinaocpp-55.html