1.mientras bucle
- Formato:
while(循环条件){
循环体;
}
- En el bucle, controlamos el número de bucles controlando variables.
Tres elementos del bucle:
valor inicial de la variable del bucle,
juicio de la variable del bucle,
actualización de la variable del bucle
por ejemplo1:
#include <iostream>
using namespace std;
int main()
{
int i = 1;
while(i <= 10)
{
cout <<"小人本住在苏州的城边..\t第"<<i<<"遍\n";
i++;
}
return 0;
}
Producción:
小人本住在苏州的城边.. 第1遍
小人本住在苏州的城边.. 第2遍
小人本住在苏州的城边.. 第3遍
小人本住在苏州的城边.. 第4遍
小人本住在苏州的城边.. 第5遍
小人本住在苏州的城边.. 第6遍
小人本住在苏州的城边.. 第7遍
小人本住在苏州的城边.. 第8遍
小人本住在苏州的城边.. 第9遍
小人本住在苏州的城边.. 第10遍
por ejemplo2:
#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;
}
eg3
#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;
}
Ejercicios:
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;
}
Este es un bucle infinito. Debido a k=1
que es una operación de asignación y el valor de retorno es 1, se ejecutará while(1). Es un bucle infinito.
2. Determine si el resultado de la declaración es:
int n=0;
while(n++<=2);
cout<<n;
La respuesta es 4.
Análisis: n++ <= 2, entonces n = 2 cuando n ingresa por última vez, y luego se ejecuta n ++, es decir, n = 3, no olvides hacer un juicio cuando finalmente
saltes El ciclo y ejecuta n ++ nuevamente <= 2 declaración, n = 3 en este momento no cumple con la condición, pero la declaración ++ aún debe ejecutarse, es decir, n = n + 1 = 4.
ejemplo:
#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;
}