while (//bool型 )
{
code为 ture 时执行的命令
}
这种是持续循环
1.错的
false 后面是 ;
终止循环的程序应在 while 里面
int main()
{
int num = 0; //控制变量
bool is_run = ture;
while (ture)
{ cout<<"hello"<<endl;
num++;
//}
if (num>=5)
} //错误2
is_run = false
}
√的
#include <iostream>
using namespace std;
int main()
{
int num = 0; //控制变量
bool is_run = true;
while (is_run)
{ cout<<"hello"<<endl;
num++;
if (num>=5)
{ //错误2
is_run = false;
}
}
return 0;
}

#include <random>
#include <iostream>
using namespace std;
int get_random_num(int min,int max)
{
random_device rd;
mt19937 gen(rd());
uniform_int_distribution<> dis(min,max);
int random_number = dis(gen);
return random_number;
}
int main()
{
/**
* 1.无限次机会
* 2.提示大了还是小了
* 3.提示总共猜了多少次
*/
// 1.得到一个随机数1~100范围的数
int num = get_random_num( 1,100 );
// 2.提示用户输入数字进行猜测
int guess_num;
cout <<"请输入您猜的数字" <<endl;
cin>> guess_num;
int guess_count = 1;
//如果猜错的话继续(循环)
while (guess_num != num) //ture即是猜错
{
// 1.判断条件
// 2.循环控制因子就是guess_num变量
// 3.控制因子的更新,即是如果用户更新,继续要求用户输入
guess_count++;
if (guess_num >num)
{cout <<"您输入的的数字有点大"<<endl;
cin >>guess_num;
}
else
{cout <<"你输入的数字偏小"<<endl;
cin >>guess_num;
}
//猜对的话,循环结束
}
cout<<"对了,您总共猜了 "<<guess_count<<" 次"<<endl;
return 0;
}
<aside> 💡
1.随机数库
#include <random>
using namespace std;
int get_random_num(int min,int max) //这个后面不用 ; 因为类似于 int main()是函数定义的头部
{
//构建随机数生成器 device:设备
random_device rd;
mt19937 gen(rd());
/定义一个均匀分布的整数范围 distribution:分布,在这个库中特指概率分布模型
uniform_int_distribution<> dis(min,max);
//生成一个随机数并输出
int random_number = dis(gen);
return random_number;
}
</aside>
1.uniform_int_distribution:均匀分布
2.normal_distribution:正态分布
Q0422:
if (num>=5) 却写在了 while 循环的外部int guess_count = 1
是一条绝对独立、必须立刻结算的底层物理指令。它的完整含义是:
“立刻向操作系统申请 4 个字节的栈内存,在符号表里将这块内存命名为 guess_count,并将二进制的 1 强行写入这块内存。”