c++ 简单问题

tiancaigsl 2007-04-04 08:49:00
我想做一个程序,在输出1000个从1到1000000的随机整数在TXT文件里,每个数各占一行。
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjw310 2007-04-04
  • 打赏
  • 举报
回复
#include <fstream>
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int num, n, i;
double w_no=0;
ofstream fout("test.txt");
srand(NULL);
for(i=0; i<1000; i++)
{
num = rand();
n=num;
num = rand();
w_no = ((num+n)%1000000)*(rand()%20);
if(w_no>1000000 || w_no<1000)
{
i--;
}
else
{
fout<<w_no<<endl;
}
}
system("pause");

return 0;
}
wangzhangyong411 2007-04-04
  • 打赏
  • 举报
回复
如果实在有问题的话,最多多用几个rand 大不了每位用一个rand()%9 这样7次可以解决了 自己想吧
gjw310 2007-04-04
  • 打赏
  • 举报
回复
在32位机器上rand返回的最大值是32767
bomdy 2007-04-04
  • 打赏
  • 举报
回复

void fun()
{
FILE *f;
int d;
if(f = fopen("data.txt","w"))
{
srand( (unsigned)time( NULL ) );
for(int i=0; i<1000; i++)
{
d = rand()%1000000 + 1;
fprintf(f, "%d", d);
}
fclose(f);
}
}
taodm 2007-04-04
  • 打赏
  • 举报
回复
#define RAND_MAX 0x7FFF
orc1984 2007-04-04
  • 打赏
  • 举报
回复
lz 這個太簡單了
書上有現成的例子 你對照下 寫個 就可以了
設n = 1000;
印1000個就可以了
jixingzhong 2007-04-04
  • 打赏
  • 举报
回复
#include <fstream>
#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
int num, n, i;
ofstream fout("test.txt");
for(i=0; i<1000; i++)
{
num = rand();
n=num;
num = rand();
fout<<(num+n)%1000000<<endl;
}
system("pause");
return 0;
}

由于 rand 返回的随机数据的范围是 0~65535
所以, 使用两次 rand求和再%1000000 写文件。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧