C++实现:写一个程序作为一个计算工具,显示两个随机整数相加的结果。要求学生输入答案,判断答案是否正确,如果正确输出结果,如果不正确给出提示,输出正确答案。随机数函数请自行查阅资料

写一个程序作为一个计算工具,显示两个随机整数相加的结果。要求学生输入答案,判断答案是否正确,如果正确输出结果,如果不正确给出提示,输出正确答案。随机数函数请自行查阅资料。

本题目的要求主要是考察对随机数生成的理解。

#include <iostream>
#include <ctime>

using namespace std;

int main(int argc, const char * argv[]) {
    srand((int)time(0));
    int a,b,sum;
    a = rand()%5;
    b = rand()%5;
    sum = a+b;
    cout<<a<<"    "<<b<<endl;   //这一行代码是用来输出两个随机数的值的,方便检验程序的正确性。
    cout<<"请猜两个5以内的随机数的和为:";
    int guess;//猜的数
    cin>>guess;
    if(guess==sum){
        cout<<"你猜的数"<<sum<<"正确"<<endl;
    }else{
        cout<<"你猜的数错误,正确答案是:"<<sum<<endl;
    }
    return 0;
}

输出结果:

说明:

①:#include <ctime>的引用,在本题中删掉代码正常使用。

②:如果将srand((int)time(0));这句的代码删除的话,每一次生成的随机数都是固定的,不会随着每次运行而变化。

计算机没有办法产生真正的随机数的,是用算法模拟,所以你只调用rand,每次出来的东西是一样的。设置一个种子后,根据种子的不同,就可以产生不同的数了。而怎么保证种子的不同呢?最简单的办法当然是用永远在向前的时间。
srand(time(0)) ;//先设置种子
rand();//然后产生随机数
Srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样。为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值(因为每时每刻时间是不一样的了)。
srand(time(0)) ;
就是给这个算法一个启动种子,也就是算法的随机种子数,有这个数以后才可以产生随机数

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值