麻烦高手帮忙修改一下面的程序,谢

来源:百度知道 编辑:UC知道 时间:2024/06/26 00:38:50
生成一个0到100的随机不重复序列,而我希望改成从n1到n2(n1,n2是两个我自己定义的整数),生成含有8个随机数的程序。谢
c语言版的
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#define MAX 101

void random()
{
int temp[MAX], i, j, k, num;
srand((unsigned)time(NULL));
for (i=0; i<MAX; ++i)
{
temp[i]=-1;
}
for (j=0; j<MAX; ++j)
{
num=rand()%MAX;
k=0;
while (temp[k]!=-1)
{
if (temp[k]==num)
{
k=0;
num=rand()%MAX;
continue;
}
++k;
}
temp[j]=num;
printf("%3d ",temp[j]);
}
}

int main(void)
{
random();
system("pause");
return 0;
}

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

#define MAX 8
#define N2 50
#define N1 40

void random()
{
int temp[MAX], i, j, k, num;
srand((unsigned)time(NULL));
for (i=0; i<MAX; ++i)
{
temp[i]=-1;
}
for (j=0; j<MAX; ++j)
{
num=rand()%(N2-N1+1)+N1;
k=0;
while (temp[k]!=-1)
{
if (temp[k]==num)
{
k=0;
num=rand()%(N2-N1+1)+N1;
continue;
}
++k;
}
temp[j]=num;
printf("%3d ",temp[j]);
}
}

int main(void)
{
random();
system("pause");
return 0;
}