利用计算机产生随机数,然后由操作者进行猜测。通过提示语句帮助操作者进行猜数,要求每次运行程序电脑给出的数据都能不一样。
(1)由计算机随机出一个100以内的数让人猜。如果猜对了,则计算机给出正确的提示,否则给出错误的提示,并提示所猜的数是猜大了还是猜小了,然后结束游戏。实验难度:低。
首先,每次产生的数不一样。
srand((int)time(0)); //原型:void srand(unsigned seed);用法:srand((unsigned)time(NULL))则使用系统定时/计数器的值作为随机种子。
//每个种子对应一组根据算法预先生成的随机数,所以,在相同的平台环境下,不同时间产生的随机数会是不同的。
产生随机数:
int random(int x)
{
int n=rand()%x;
return n;
}
#include<iostream>
#include<Ctime>
using namespace std;
int random(int x)
{
int n=rand()%x;
return n;
}
void main()
{
int m;
cin>>m;
srand((int)time(0)); //原型:void srand(unsigned seed);用法:srand((unsigned)time(NULL))则使用系统定时/计数器的值作为随机种子。
//每个种子对应一组根据算法预先生成的随机数,所以,在相同的平台环境下,不同时间产生的随机数会是不同的。
//for(int x=0;x<10;x++)
int num=random(100);
cout<<num<<endl;//输出产生的随机数
//cout<<random(100)<<endl;
if(num==m) cout<<"猜对了"<<endl;
else if(num<m) cout<<"猜大了"<<endl;
else cout<<"猜小了"<<endl;
}
(2)由计算机随机出一个100以内的数让人猜。如果猜对了,则计算机给出正确的提示和猜测的总次数,然后退出游戏。否则给出错误的提示,并提示所猜的数是猜大了还是猜小了,直到猜对数据才结束游戏。实验难度:中。
#include<iostream>
#include<Ctime>
using namespace std;
int main()
{
int num,m;
srand(time(0));
cout<<"请输入猜测的数值"<<endl;
cin>>m;
num=rand()%100;
for(int i=0;num!=m;i++)
{
if(num<m)
{cout<<"猜大了"<<"请输入猜测的数值"<<endl;
cin>>m;}
else {cout<<"猜小了"<<"请输入猜测的数值"<<endl;
cin>>m;}
if(num==m)
cout<<"猜对了"<<' '<<"猜测次数为"<<i<<endl;
}
return 0;
}
(3)由计算机随机出一个100以内的数让人猜。如果猜对了,则计算机给出正确的提示和猜测的总次数,然后退出游戏。否则给出错误的提示,并提示所猜的数和正确值之间的大小关系(即猜大了还是猜小了)。游戏最多可以猜测10次,如果10次之内仍未猜中的话就退出。实验难度:高。
//与第二个相比,只需要改变最后一个if语句,和for的条件
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
int num,m,i;
srand(time(0));
cout<<"请输入猜测的数值"<<endl;
cin>>m;
num=rand()%100;
for(i=1;num!=m&&i<10;i++)
{
if(num!=m)
{
if(num>m)
{
cout<<"大了"<<' '<<"请再次输入预测值"<<endl;
cin>>num;
}
else
{
cout<<"小了"<<' '<<"请再次输入预测值"<<endl;
cin>>num;
}
}
}
if(i==10&&num!=m)
cout<<"猜测次数已达到十次"<<endl;
else
cout<<"正确"<<' '<<"总共输入"<<i<<"次"<<endl;
return 0;
}
版权声明:本文为lufei0315原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。