关于#随机数#的问题,如何解决?(语言-c++)

题目描述
输出一个随机数,测试RP专用。
输入

输出
输出一个1~50之间的随机数
提示
AC率杀手

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    int i;
    //for (int i=1;i<=1000;i++)
    printf("%d", rand()%50+1);
    return 0;  
} 

OJ提示答案错误,有什么办法可以AC呢

基于Monster 组和GPT的调写:
对于这道题目,可以使用以下代码来生成1到50之间的随机数:

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
    srand(time(NULL));  // 用当前时间作为随机数生成器的种子
    int random_num = rand() % 50 + 1;  // 生成1到50之间的随机数
    cout << random_num << endl;  // 输出随机数
    return 0;
}


其中,srand() 函数设置随机数生成器的种子,一般可以使用当前时间作为种子,这样可以让每次运行程序生成的随机数都不同。

接着,使用 rand() 函数生成一个0到49之间的随机整数,并将其加1得到1到50之间的随机整数。

最后,使用 cout 输出随机数即可。

该回答引用ChatGPT

参与尝试一下这个

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    srand(time(NULL));
    printf("%d\n", rand() % 50 + 1);
    return 0;
} 


你这不是C++么,怎么写的是C语言代码呢

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^