我很需要一個亂數產生器 請哪為大大幫我設計一下吧
我不是很懂...需要每次產生1000組 1組4個數字1~9
例. 01 02 03 04 , 05 06 04 07 03
不要重複以 時間為基準的
2006-08-15 12:56:09 · 5 個解答 · 發問者 煥傑 2 in 電腦與網際網路 ➔ 程式設計
#include "stdafx.h"
#include
#include
#include
void get4Number(int *n);
void main(void)
{
int i=0;
int num[4];
srand((int)time(0));
for(i=0;i<1000;i++)
{
get4Number(num);
printf("%02u %02u %02u %02u\n",num[0], num[1], num[2], num[3]);
}
getch();
}
// 取回四個1~9不同的數字
void get4Number(int *n)
{
char flag, i, j;
for(;;)
{
flag=0;
for(i=0;i<4;i++)n[i]=(rand()%9)+1;
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
if(n[i]==n[j])
{
flag = 1;
break;
}
if(flag==0)
break;
}
}
//
2006-08-15 19:59:07 · answer #1 · answered by ㄚ旺 5 · 0⤊ 0⤋
1000組 每組4個數 數字範圍 1~9 十位數補0 數字不重覆
2006-08-16 07:41:39
·
answer #2
·
answered by DS 3
·
0⤊
0⤋
使用 dev c++
#include
#include
#include
#define Max 1000 <-- 要更改組數 改這就好
using namespace std;
struct sum
{
int Four[4];
};
int main()
{
sum R_rand[Max];
int add;
int i,j;
srand(int(time(NULL))/100);
for(add=0;add
for(i=0;i<4;i++)
{
R_rand[add].Four[i] = rand()%10;
for(j=1;j
{
if((R_rand[add].Four[i]==R_rand[add].Four[j]))
{
i--;
}
if(R_rand[add].Four[i]==0)
{
i--;
}
}
}
}
for(add=1;add<=Max;add++)
{
cout << "第" << add << "組為:" << "\t" ;
for(i=0;i<4;i++)
{
cout.width(2);
cout.fill('0');
cout << R_rand[add].Four[i] << "\t" ;
}
cout << endl;
}
system("PAUSE");
return 0;
}
2006-08-16 13:00:23 補充:
沒注意有錯誤的敘述 所以修改部份if((R_rand[add].Four[i]==R_rand[add].Four[j])) i--; else if(R_rand[add].Four[i]==0) <---這行 i--; for(add=0;add
版大,不重覆是指啥?
是同一組內4個數字不重覆嗎?
2006-08-15 18:44:02 · answer #3 · answered by ? 7 · 0⤊ 0⤋
#include
#include
#include
int main()
{
int i=0;
srand((int)time(0));
for(i=0;i<1000;i++)
printf("0%d 0%d 0%d 0%d\n",rand()%10,rand()%10,rand()%10,rand()%10);
return 1;
}
2006-08-15 14:15:33 · answer #4 · answered by 大 3 · 0⤊ 0⤋
我只是C++的入門..
可是如果是要做亂數..
可以用RANDOM..
可是RANDOM的數字介於0~1
所以用RANDOM以後的數字要X10
至於1000組..
就用FOR 應該就可以了吧..
int N=10;
for (int ii=0; ii<1000, ii++)
{ cout<< (rand()*N)};
好像這樣就可以了..
因為N已經是INT了..
所以RAND()*N 只會是整數..
有錯請指教..
很久沒用C++
2006-08-15 13:08:37 · answer #5 · answered by thclthcl 6 · 0⤊ 0⤋