«

C++ while 循环语句题目

点亮灯 发布于 阅读:77 练习作业


while 循环是 C++ 中最基本的循环结构之一,它会在条件为真时重复执行代码块。下面是一些关于 while 循环的练习题,帮助你掌握这个重要的控制结构。

基础题目

打印数字序列 √

// 使用 while 循环打印 1 到 10 的数字

计算数字之和 √

// 使用 while 循环计算 1 到 100 所有整数的和

倒序打印 √

// 使用 while 循环从 10 倒序打印到 1

偶数打印 √

// 使用 while 循环打印 1 到 100 之间的所有偶数


进阶题目

阶乘计算 √

// 使用 while 循环计算一个数的阶乘(从用户输入获取)

素数判断 √

// 使用 while 循环判断一个数是否为素数

斐波那契数列 √

// 使用 while 循环打印斐波那契数列的前20 项

数字位数统计

// 使用 while 循环统计一个整数的位数


挑战题目

数字反转

// 使用 while 循环将一个整数反转(如 12345 变为 54321)

最大公约数

// 使用 while 循环和欧几里得算法计算两个数的最大公约数

二进制转换 √

// 使用 while 循环将一个十进制数转换为二进制表示

猜数字游戏 √

// 使用 while 循环实现一个简单的猜数字游戏
// 程序随机生成一个数字,用户猜测,程序给出提示直到猜中



// 使用 while 循环打印 1 到 10 的数字
#include<iostream>        
using namespace std;    
int main()  {

int shu=1;
while(shu<=10)
{
    cout<<shu<<" ";
    shu++;
}

    return 0;//返回结束
}
// 使用 while 循环计算 1 到 100 所有整数的和
#include<iostream>        //引入iostream库,才能使用输入输出流,cin和cout
using namespace std;        //引入 std 命名空间
int main()                  //主函数,从这里开始运行代码
{
    //定义变量
    int shu;
    int he=0;

    //计算输出
    while (shu<=100){
            he=he+shu;
            shu++;

        }
        cout<<"1+2+3+...+100="<<he;
        return 0;//返回结束
    }
// 使用 while 循环从 10 倒序打印到 1

#include<iostream>        //引入iostream库,才能使用输入输出流,cin和cout
using namespace std;        //引入 std 命名空间
int main()                  //主函数,从这里开始运行代码

{
//定义变量
int shu=10;
    while (shu>=1){
        cout<<shu<<" ";
        shu--;
    }

    return 0;//返回结束
}
// 使用 while 循环打印 1 到 100 之间的所有偶数

#include<iostream>        //引入iostream库,才能使用输入输出流,cin和cout
using namespace std;        //引入 std 命名空间
int main()                  //主函数,从这里开始运行代码

{
    int shu=1;
    while (shu<=100){
        if (shu%2==0){
            cout<<shu<<" ";
        }
        shu++;
    }
    return 0;//返回结束
}
// 使用 while 循环计算一个数的阶乘(从用户输入获取)

#include<iostream>        //引入iostream库,才能使用输入输出流,cin和cout
using namespace std;        //引入 std 命名空间
int main()                  //主函数,从这里开始运行代码

{
    int i=1;
    int shu;
    int daan=1;

    cout<<"请输入需要阶乘的数:";
    cin>>shu;

    while (i<=shu){
        daan=daan*i;
        i++;
    }
        cout<<shu<<"阶乘"<<"="<<daan<<endl;

    return 0;//返回结束
}
// 使用 while 循环判断一个数是否为素数

#include<iostream>        //引入iostream库,才能使用输入输出流,cin和cout
using namespace std;        //引入 std 命名空间
int main()                  //主函数,从这里开始运行代码

{
    int shu;
    bool a=1;
    int i=2;
    cout <<"请输入一个数";
    cin>>shu;
        while (i<shu){
        if (shu%i==0){
            a=0;
        }
    i++;
    }
    if (a==1){
                cout<<shu<<"是素数。"<<endl;
    }
    else {
                cout<<shu<<"不是素数。"<<endl;
    }

    return 0;//返回结束
}

// 使用 while 循环将一个十进制数转换为二进制表示

#include<iostream>        //引入iostream库,才能使用输入输出流,cin和cout
using namespace std;        //引入 std 命名空间
int main()                  //主函数,从这里开始运行代码
 {
    int decimalNum;
    long long binaryNum = 0;
    int placeValue = 1; // 当前位值(1, 10, 100...表示二进制位)

    cout << "请输入一个十进制整数: ";
    cin >> decimalNum;

    // 处理0的特殊情况
    if (decimalNum == 0) {
        cout << "二进制表示为: 0" << endl;
        return 0;
    }

    // 使用while循环进行转换
    int temp = decimalNum;
    while (temp > 0) {
        int remainder = temp % 2;      // 获取当前最低位
        binaryNum += remainder * placeValue; // 将位值加到结果中
        temp /= 2;                     // 去掉已处理的最低位
        placeValue *= 10;              // 位值乘以10(因为我们在构造一个"看起来"像二进制的十进制数)
    }

    cout << "二进制表示为: " << binaryNum << endl;

    return 0;
}

// 使用 while 循环实现一个简单的猜数字游戏
// 程序随机生成一个数字,用户猜测,程序给出提示直到猜中

#include <iostream>
#include <cstdlib> 
#include <ctime>    
using namespace std;
int main() {
    // 初始化随机数种子
    srand(time(0));

    // 生成1-100之间的随机数
    int secretNumber = rand() % 100 + 1;
    int guess = 0;
    int attempts = 0;

    cout << "欢迎来到猜数字游戏!\n";
    cout << "我已经准备好了一个1到100之间的数字,请猜猜是多少。\n";

    // 使用while循环让用户反复猜测
    while (guess != secretNumber) {
        cout << "请输入你的猜测: ";
        cin >> guess;
        attempts++;

        if (guess < secretNumber) {
            cout << "太小了!再试一次。\n";
        } else if (guess > secretNumber) {
            cout << "太大了!再试一次。\n";
        }
    }

    cout << "恭喜你!你猜对了!\n";
    cout << "你总共尝试了 " << attempts << " 次。\n";

    return 0;
}