Skip to content

9 循环语句while

发布时间:

一、while语句定义

作用:满足循环条件,执行循环语句
语法

js
while (循环条件) {
    // 循环体语句
}
   

解释:只要循环条件的结果为真,就执行循环语句

二、示例

例 1:

js
int main() {
    int num = 0;
    while (num < 10){
        cout << "num = " <‹ num << endl;
        num++;
    }
    return 0;
}
   

注意:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环

例2:

计算1到10之间的所有整数的和

js
#include <iostream>
using namespace std;

int main() {
    int sum = 0; // 定义变量sum,用于存储计算结果
    int i = 1;   // 定义变量i,用于循环计数

    while (i <= 10) {   // 判断循环条件
        sum += i;       // 执行循环体语句,计算累加和
        i++;            // 更新循环控制变量,i自增1
    }

    cout << "1到10之间的整数和为:" << sum << endl; // 输出计算结果

    return 0;
}
   

例3:

求1~100中所有数的立方和。

js
#include<iostream>
using namespace std;
int main(){
    int a=1,sum=0;
    while(a<=100){
        sum+=a*a*a;
        a++;
    }
    cout<<sum;
    return 0;
}
   

三、课堂练习

练习1 斐波那契数列

分析: 求斐波那契数列的第n项。f(1)=1, f(2)=1, f(3)=2, f(n)=f(n-1) + f(n-2)。
斐波那契数列(Fibonacci sequence)是指这样一个数列:0、1、1、2、3、5、8、13、21、34、55、89、144......在数学上,斐波那契数列是以递归的方式定义的,第n个斐波那契数F(n)定义如下: F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2),其中n > 2 也就是说,第n个斐波那契数是它前面两个斐波那契数的和。例如,第4个斐波那契数是2,因为F(4) = F(3) + F(2) = 1 + 1 = 2。

while拆分算法

while拆分算法,常用于对任一正整数做各个位数遍历的时候。 举例说明: 假设有一个正整数n=123456,需要将其各个位数分解出来。可以使用while各个位数分解算法来解决这个问题,具体步骤如下: 1. 定义一个变量n,初始值为123456。 2. 通过while循环,将n的各个位数分解出来。 3. 每次循环,将n除以10取余数,得到n的个位数数字,然后将n除以10取整,得到n的十位数及更高位的数字。 4. 判断n是否为0,如果n为0,则说明n的各个位数数字已经全部分解完毕,退出while循环。 这个算法的核心思路在于为什么模10能取出个位,以及整除10能取十位以及更高位?请思考。

练习2 倒序输出

js
#include<iostream>
using namespace std;
int main(){
    int a;
    cin >> a;
    while(a != 0){
        cout << a % 10;
        a /= 10;
    }
    return 0;
}
   

练习3 求各位数字之和

四、作业

1 角谷猜想