while循环语句
格式:
while (循环条件)
{
循环语句
}
do while循环语句
格式:
do
{
提前执行一次
}
while (循环条件)
{
循环语句
}
for循环语句
格式:
for (起始表达式;条件表达式;末尾循环体)
{
循环语句
}
嵌套循环
顾名思义,就是一个个循环套在一起。
示例:
int a = 0;
for (int i = 1; i <= 10; i++)
{
a++;
for (int j = 0; j <= 10; j++)
{
a++;
}
}
cout << a;
输出结果是?
注意
- 计算机计数从0开始,计算循环次数时应从0开始算,而不是1。若提供一个数n,你想要循环n次,那应该这样写:
for (int i = 1; i <= n; i++)
while的循环条件判断中,若是布尔类型,则
True (1)
会进入循环,反之false (0)
不会进入。如果你想要简单写一个无限循环,即可while (1)
。
示例题目
1.1 题目描述
小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦。已知小玉第一步能游 2 米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的 98\%。现在小玉想知道,如果要游到距离 x 米的地方,她需要游多少步呢。请你编程解决这个问题。
1.2 输入格式
输入一个实数 s(单位:米),表示要游的目标距离。
1.3 输出格式
输出一个整数,表示小玉一共需要游多少步。
1.4 样例 #1
1.4.1 样例输入 #1
4.3
1.4.2 样例输出 #1
3
1.5 提示
数据保证,0 \leq s \leq 100,且 s 小数点后最多只有一位。
1.6 思路解析
1.6.1 变量类型
首先看到这个题目,我们就要先用一个变量来存储输入。因为它是一个小数,那用int类型肯定肯定是不行的。
1.6.2 大体思路
定义一个变量表示小玉一次的游泳距离,每游一次就把她游一次的距离乘98%,并把游泳次数加一,当游过的距离大于输入的距离时,跳出循环并输出游泳次数。所以这里我们就可以用一个while循环来解决。
1.6 题解
#include<iostream>
using namespace std;
int main()
{
long double a; //记录输入数据
long double d = 0; //记录小玉游过的距离
long double s = 2; //小玉又一次的初始距离
int sum = 0; //记录小玉游的次数,因为是整数,int即可。
cin >> a;
while (a > d)
{
d = d + s;
s = s/100 * 98;
sum ++;
}
cout << sum << endl;
return 0;
}
说两件事
- 科创社硬件和编程社软件的差别
小游戏示例:省赛获奖-时间刺客
智能硬件示例:Smart-Lock 自己方向的选择(大家都重新填下 上次那个只有上课的人填了) 链接
发表回复