怎样生成不重复的随机数?

我是C语言的初学者,以下是猜数字游戏的代码,但是这样可能会生成重复的随机数,请问应该怎么修改呢?望各位同僚指教。#include"stdafx.h"#include"st... 我是C语言的初学者,以下是猜数字游戏的代码,但是这样可能会生成重复的随机数,请问应该怎么修改呢?望各位同僚指教。
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include <stdlib.h>
#include <time.h>
void main( void )
{
int i,k;
int a[4];
int N=0,M=0;
srand( (unsigned)time( NULL ) );

for( i = 0; i <=3;i++ )
{
a[i]=rand()%10;
printf( " %d\n",a[i]);
}
printf("qingshuru:\n");
int b[4];
for(k=0;k<=3;k++)
{
scanf("%d",&b[k]);
}
for(i=0;i<=3;i++)
{
for(k=0;k<=3;k++)
if(a[i]==b[k])
{
if(i==k)
N++;
//break;
if(i!=k)
M++;
//break;
}
}
printf("%d\n%d\n",N,M);
}
展开
 我来答
百度网友cfab4e4
2008-01-23 · TA获得超过1222个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:123万
展开全部
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include <stdlib.h>
#include <time.h>
void main( void )
{
int i,k,s;
int a[4];
int N=0,M=0;
srand( (unsigned)time( NULL ) );

for( i = 0; i <=3;i++ )
{
//下面是我改的//

a:a[i]=rand()%10;

for(s=0;s<i;s++)
{
if(a[s]==a[i])
goto a;
}

//END//
printf( " %d\n",a[i]);
}
printf("qingshuru:\n");
int b[4];
for(k=0;k<=3;k++)
{
scanf("%d",&b[k]);
}
for(i=0;i<=3;i++)
{
for(k=0;k<=3;k++)
if(a[i]==b[k])
{
if(i==k)
N++;
//break;
if(i!=k)
M++;
//break;
}
}
printf("%d\n%d\n",N,M);
}
不好意思啊
用了强制转换
投机去巧了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式