gpt4 book ai didi

c++ - 随机数和编程逻辑

转载 作者:搜寻专家 更新时间:2023-10-31 00:13:11 26 4
gpt4 key购买 nike

我在处理下面的作业时遇到了问题。

"编写一个程序,生成一个1-100之间的随机整数,然后让用户猜这个数是多少。如果用户猜的比随机数高,程序应该显示“太高,再试一次。 ”如果用户的猜测低于随机数,程序应该显示“太低,再试一次”。该程序应该使用一个循环,重复直到用户正确猜出随机数。”

我如何使随机数起作用,是否有更好/更有效的方法来编写任何部分?我还在学习C++

这是我的代码

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

int main()
{
// declare variables
int rightAnswer, userAnswer;

// determine rightAnswer
srand (time(NULL));
rightAnswer = (rand() % 100) + 1;

// begin the game
cout << "I'm thinking of a number between 1-100!" << endl;
do{
// collect data
cout << "Guess: ";
cin >> userAnswer;

// if else statements to determine correctness
if (userAnswer < 1 || userAnswer > 100)
cout << "The number is in the range 1-100. Try again!" << endl;
else if (userAnswer > rightAnswer)
cout << "Too high! Try again!" << endl;
else if (userAnswer < rightAnswer)
cout << "Too low! Try again!" << endl;
else
cout << "That's it! Good job!" << endl << ":)";


} while (userAnswer != rightAnswer);
return 0;
}

最佳答案

您可以使用正确选择 Random number distributions 在给定范围内更均匀地生成随机数.下面显示了统一分布用法的一个示例:

#include <random>

...
std::random_device rd; // obtain a random number
std::mt19937 engine(rd());
std::uniform_int_distribution<> distribution(1, 100); // define the range

const int rightanswer = distribution(engine);

关于c++ - 随机数和编程逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com