循环控制 猜数字问题
引言
循环控制语句非常的重要,循环控制中while ,do while 和for在不同的场合有更好的选择,同时while 和do while也有区别。
while是当型循环,只有当满足条件时才会执行循环体
而 do while 是直到型循环,系统会先运行一次在判断是否满足条件,若满足就会继续执行循环,当为假时退出循环
而for语句应用也更加广泛
这边由于我使用while和do-while时出现了点问题,所以使用for语句(其实是觉得for更好用,在这个问题上)
代码部分
祖传头文件和全局变量
#include<iostream>
#include<cstdlib>
#include<time.h>
using namespace std;
int sum;//全局变量:随机数sum;
然后是随机数生成部分
int rands()
{
srand((unsigned int)time(NULL));//根据系统时间设置随机数种子
sum=rand() % 100 + 1;/*设置100个随机数,并赋值给sum*/
return 0;
}
之所以是%100+1,是因为sum的初始值为0,如果不加1的话,产生的随机数就只有0-99了,+1后才满足1-100中产生随机数
接下来就是主函数部分
int main()
{
int val;//定义val来代表输入的数字
int a=0;//引入变量a,用于后面for的判断
cout << "请输入你猜的数字" << endl;
cout << "你只有五次机会哦" << endl;
rands();
for(;a<5/*限制用户只能输入五次数字*/;a++)//循环部分
{
cin >> val;
if (val > sum)
{
cout << "大了一点" << endl;
}
else if (val < sum)
{
cout << "小了一点" << endl;
}
else
{
cout << "你猜对了" << endl;
break;
}
}
cout << "机会用尽" << endl;
return 0;
}