请问用C语言怎麼产生1至64的随机数?而且不重复的?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/15 23:12:57
请问用C语言怎麼产生1至64的随机数?而且不重复的?
![请问用C语言怎麼产生1至64的随机数?而且不重复的?](/uploads/image/z/11596636-28-6.jpg?t=%E8%AF%B7%E9%97%AE%E7%94%A8C%E8%AF%AD%E8%A8%80%E6%80%8E%E9%BA%BC%E4%BA%A7%E7%94%9F1%E8%87%B364%E7%9A%84%E9%9A%8F%E6%9C%BA%E6%95%B0%3F%E8%80%8C%E4%B8%94%E4%B8%8D%E9%87%8D%E5%A4%8D%E7%9A%84%3F)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc,char *argv[])
{
const int n=64;
int a[n]={0}; //结果存储在该数组中
int b[n]={0};
int count=0;
srand(time(NULL));
int num;
while(count<n)
{
num=rand()%64+1;
if(b[num-1]==0)
{
b[num-1]=1;
a[count]=num;
count++;
}
}
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
system("PAUSE");
return 0;
}
#include <stdlib.h>
#include <time.h>
int main(int argc,char *argv[])
{
const int n=64;
int a[n]={0}; //结果存储在该数组中
int b[n]={0};
int count=0;
srand(time(NULL));
int num;
while(count<n)
{
num=rand()%64+1;
if(b[num-1]==0)
{
b[num-1]=1;
a[count]=num;
count++;
}
}
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
system("PAUSE");
return 0;
}