发布网友
共5个回答
热心网友
不重复的话,给你一个比较经典的代码
int a[35];
int i,x,y,tmp;
for(i=0;i<35;i++) //这样是吧a赋值,也可以在定义的时候直接写,呵呵
a[i]=i+1;
for(i=0;i<100;i++) //交换的次数越多,那么a就越乱,这个随你定
{
while(1) //这里是产生0~34不重复的x y两个数
{
x=rand()%35;
y=rand()%35;
if(x!=y)
break;
}
tmp=a[x]; 交换xy下标对应的两个a的元素
a[x]=a[y];
a[y]=tmp;
}
完成上面的工作,那么a数组就很乱了,但是都不重复
最后,就取出10个数吧,随机取出10个连续的就好
其他的,估计你应该能完成了吧
热心网友
大概给出关键结构吧。
1.一个随机数组int a[10];
2.一个比较函数Find(int iValue),在a数组中找ivalue,找到返回true,否则false
3.一个循环for(int i = 0; i < 10; )//注意没有i++
4.在循环中生成随机数int Temp = rand % 35;
5.if(Temp == 0 || Find(Temp)) continue;
否则a[i] = Temp。 i++.
6.完成循环后输入a中值
7.定义int n, scanf("%d", &n)输入N作为循环数。
8.定义循环for(int j = 0; j < n; j++),把1-6步程序放到循环中。
热心网友
srand((int)time(0)); //生成随机数种子
for(i = 0; i < 10; i++) {
j = 1 + (int)(35.0 * rand() / (RAND_MAX + 1.0)); // 生成随机数
/* 这样生成的随机数可能会有重复, 在此处判断一下 */
printf("%d ", j);
}
热心网友
有一个叫随机函数的 可以使用rand()
你查查吧
热心网友
kiy