哪位程序员大神给我看一下我的代码哪里写错了,随机数老是出现重复的,题目和代码在下面 5

#include<stdio.h>#include<time.h>#include<stdlib.h>intisexist(intm,inta[]){inti;if(a[... #include<stdio.h>#include<time.h>#include<stdlib.h>int isexist(int m,int a[]){ int i; if(a[0]==-1) return 0; for(i=0;a[i]!=-1;i++) { if(m==a[i]) return 1; }}int main(){ int max,min,n,i,j,k,m=0,l,p; int a[100]; do{ printf("请输入号码范围(最小值 最大值)"); scanf("%d%d",&min,&max); for(i=0;i<max-min;i++){ a[i]=rand()%(max-min+1)+min; while(1) { for(j=0;j<i;j++) { if(a[i]==a[j]) { a[i]=rand()%(max-min+1)+min; j=0; break; } } if(j==i) break; }} printf("请输入本轮抽号的轮数:"); scanf("%d",&n); printf("\n"); for(i=1;i<=n;i++) { printf("请输入第%d轮抽号个数:",i); scanf("%d",&j); for(p=0;p<j;p++) { if(isexist(p,a[])) { printf("%d\t",a[p]); } } printf("\n按任意键继续\n"); } printf("本轮结束,是否继续"); scanf("%d",&l);} while(l==1); return 0;}
我说的重复是指前后两组数之间出现重复,随机数是在我给定的范围内的。
展开
 我来答
cdyzxy
2017-05-24 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3753万
展开全部
解决随机数重复问题:在main函数do循环前面加一句srand((unsigned int)time(NULL));
追问
我补充了问题,大神再看看,求帮忙改一下。
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式