【C++ 基础语法】 循环(二)

目录

1. while

 2. do while

3. while循环之网银证书密码 

4. wps功能路由器

5. 水仙花

6. 完数

 7. for 、while、dowhile运行时机(参考wps代码

8. 必杀技游戏


1. while

 

 

 2. do while

 

 

 

 


#include <iostream>
#include <iomanip>
#include <conio.h>

int main()
{
    char c{};
    int num{};
    

    do {

        bool is_prime = true;
        std::cout << "请输入一个数:" << std::endl;
        std::cin >> num;

        for (int i = 2; i * i <= num; i ++ ) {

            if (num % i == 0) {

                is_prime = false;

                break;
            }
        }
        
        if (is_prime) printf("%d 是一个质数\n", num);
        else printf("%d 不是一个质数\n", num);
        
        std::cout << "按Y计算下一个数字" << std::endl;
        std::cin >> c;
        

    } while (c == 'Y' || c == 'y');
    
    return 0;
}


3. while循环之网银证书密码 

 


#include <iostream>
#include <iomanip>
#include <conio.h>

int main()
{
    /*int password{0}, repassword{1};
    int attackword{};
    
    while (password != repassword)
    {
        system("cls");
        std::cout << "请输入密码:" << std::endl;
        std::cin >> password;
        std::cout << "请再次输入密码:" << std::endl;
        std::cin >> repassword;
    }
    std::cout << "进入破解系统" << std::endl;
    while (attackword != password) attackword++;
    
    std::cout << "密码破解成功!你的密码是: " << attackword << std::endl;*/

    int password, repassword;
    int attackword{-1};

    do {
        system("cls");
        std::cout << "请输入密码:" << std::endl;
        std::cin >> password;
        std::cout << "请再次输入密码:" << std::endl;
        std::cin >> repassword;
    } while (password != repassword);

    std::cout << "进入破解系统" << std::endl;
    do attackword++; while (attackword != password);
    std::cout << "密码破解成功!你的密码是: " << attackword << std::endl;


    return 0;
}


4. wps功能路由器


#include <iostream>

int main()
{
    int password{ 98620154 };
    int crackpass{};
    //goto
lcrack:
    if (password != crackpass) {
        crackpass++;
        goto lcrack;
    }

    std::cout << "路由器PIN码:" << crackpass;

    //for
    for (crackpass = 0; crackpass < 100000000; crackpass++) {
        if (crackpass == password) break;
    }

    std::cout << "\n路由器PIN码:" << crackpass;

    //for 优化
    for (crackpass = 0; crackpass != password; crackpass++);
       
    std::cout << "\n路由器PIN码:" << crackpass;

    //while
    crackpass = 0;
    while (crackpass != password) crackpass++;
    std::cout << "\n路由器PIN码:" << crackpass;

    //do while
    crackpass = -1;
    do {
        crackpass++;
    } while (crackpass != password);

    std::cout << "\n路由器PIN码:" << crackpass;

    return 0;
}


5. 水仙花


#include <iostream>

int main()
{

    int u{}, d{}, h{};

    for (int i = 100; i < 1000; i++) {
        u = i % 10;
        d = (i / 10) % 10;
        h = i / 100;

        if (u * u * u + d * d * d + h * h * h == i)
            std::cout << i << std::endl;
    }


    return 0;
}


6. 完数


#include <iostream>

int main()
{

    for (int num = 4; num < 1000; num++) {

        int sum{};

        for (int a = 1; a < num; a++) {
            if ((num % a) == 0)
                sum += a;


        }
        if (sum == num) std::cout << num << std::endl;
        

    }

   // std::cout << sum << std::endl;

    return 0;
}


 7. for 、while、dowhile运行时机(参考wps代码

 

 

 

8. 必杀技游戏


#include <iostream>

int main()
{
    int mp{1383}, lsmp{mp};
    int damege{}, needmp{};

    do {
        damege += 100;
        mp -= needmp;
        needmp += 50;

        std::cout << "\n造成伤害" << damege << "剩余MP" << mp;
    } while (mp >= needmp);
    
    mp = lsmp;

    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康康今天学习了么

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值