C++whileループ

1.whileループ

  • フォーマット:
while(循环条件){
    
    
循环体;
}

ここに画像の説明を挿入します

  • ループでは変数を制御することでループ回数を制御します。
    ループの3要素:
    ループ変数の初期値、
    ループ変数の判定、
    ループ変数の更新

例1:

#include <iostream>
using namespace std;
int main()
{
    
    
    int i = 1;
    while(i <= 10)
    {
    
    
        cout <<"小人本住在苏州的城边..\t第"<<i<<"遍\n";
        i++;
    }
    return 0;
}

出力:

小人本住在苏州的城边..1遍
小人本住在苏州的城边..2遍
小人本住在苏州的城边..3遍
小人本住在苏州的城边..4遍
小人本住在苏州的城边..5遍
小人本住在苏州的城边..6遍
小人本住在苏州的城边..7遍
小人本住在苏州的城边..8遍
小人本住在苏州的城边..9遍
小人本住在苏州的城边..10

例2:

#include <iostream>
using namespace std;
int main()
{
    
    
    //目的:使用循环计算1-100的和
    int num=1;//循环变量的初值
    int sum=0;
    while(num<=100) //循环变量的判断
    {
    
    
        sum+=num;
        num++;//循环变量的更新
    }
    cout<<sum<<endl;

    return 0;
}

例3

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    
    
    //目的:输入密码,3次都输入错误退出登录
    int i=1;
    string password;

    while(i<=3)
    {
    
    
        cout<<"请输入密码:"<<endl;
        cin>>password;
        if(password!="123456"&&i==3)
        {
    
    

            cout<<"3次密码输入错误,系统强制退出"<<endl;
            exit(0);//0是错误码

        }
        else if(password=="123456")
        {
    
    
            break;
        }
        i++;
    }

    cout<<"登陆成功!"<<endl;
    return 0;
}

演習:
1.

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
    
    
    int k=2;
    int i=0;
    while(k=1)
    {
    
    
    k=k-1;
    cout<<"第"<<++i<<"次循环"<<endl;
    }
    return 0;
}

これは無限ループですk=1代入演算で戻り値が 1 なので while(1) が実行されます 無限ループです。

2. ステートメントの出力が次のとおりであるかどうかを確認します。

    int n=0;
    while(n++<=2);
    cout<<n;

答えは 4.
分析: n++<=2 なので、最後に n が入って n++ が実行されるときは n=2、つまり n=3;
最後に飛び出すときに判断することを忘れないでください。 <=2 ステートメント、この時点では n=3 は条件を満たしていませんが、それでも ++ ステートメント、つまり n=n+1=4 を実行する必要があります。

例:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    
    
    //使用循环模拟拳皇对战
    int hp1=100;
    int hp2=100;

    int attack1=0;
    int attack2=0;

    int randNum;

    srand(time(NULL));//更新随机种子

    while(hp1>=0&&hp2>=0)
    {
    
    

        //玩家出招,可以采用随机数是奇数还是偶数决定谁先攻击
        randNum=rand();
        if(randNum % 2==1)
        {
    
    
            //随机产生5到15的随机数
            attack1=(int)(5 + 10 *rand()/(RAND_MAX+1));
            attack2=(int)(5 + 10 *rand()/(RAND_MAX+1));

            hp2-=attack1;
            hp1-=attack2;

        }
        else
        {
    
    
            attack2=(int)(5 + 10 *rand()/(RAND_MAX+1));
            attack1=(int)(5 + 10 *rand()/(RAND_MAX+1));

            hp1-=attack2;
            hp2-=attack1;
        }

    }

    cout<<"玩家1:"<<hp1<<endl;
    cout<<"玩家2:"<<hp2<<endl;


    return 0;
}

おすすめ

転載: blog.csdn.net/mantou_riji/article/details/123443498