如何让Turbo C产生0到9的随机数 要简单的 最好是调用一个函数就行的
我试过用函数rand();但是运行时该随机数总是一样不会变化!网上搜了大多很麻烦写了一大堆有没有简单点的最好是只需调用一个函数就可以的...
我试过用函数rand(); 但是运行时 该随机数总是一样 不会变化!
网上搜了 大多很麻烦 写了一大堆
有没有简单点的 最好是只需调用一个函数就可以的 展开
网上搜了 大多很麻烦 写了一大堆
有没有简单点的 最好是只需调用一个函数就可以的 展开
3个回答
展开全部
不好意思,我刚在win-TC里面运行了下,确实有错误。原来random在该编译器里面是一个系统函数,所以只要将原来为random的地方换个名字就行了。现改正如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int myRandom(int num[],int n);
int i,r;
int num[10];
srand(time(NULL));
for(i=0;i<10;i++)
{
r=myRandom(num,i);
num[i]= r;
printf("%3d,",r);
}
}
/*生成第n个随机数*/
int myRandom(int num[],int n)
{
int r,i;
r=rand() % 10;
while(1)
{
/*生成不同的随机数:将当前生成的数与已保存在数组中的随机数比较,
如果相等,则重新生成,如果全部不相等,则采用*/
for(i = -1; i < n; i++)
if(r == num[i])
{
r = rand() % 10;break;
}
if(i >= n) return r;
}
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int myRandom(int num[],int n);
int i,r;
int num[10];
srand(time(NULL));
for(i=0;i<10;i++)
{
r=myRandom(num,i);
num[i]= r;
printf("%3d,",r);
}
}
/*生成第n个随机数*/
int myRandom(int num[],int n)
{
int r,i;
r=rand() % 10;
while(1)
{
/*生成不同的随机数:将当前生成的数与已保存在数组中的随机数比较,
如果相等,则重新生成,如果全部不相等,则采用*/
for(i = -1; i < n; i++)
if(r == num[i])
{
r = rand() % 10;break;
}
if(i >= n) return r;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询