题目描述
输出一个随机数,测试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语言代码呢
不知道你这个问题是否已经解决, 如果还没有解决的话: