首页 热点专区 义务教育 高等教育 出国留学 考研考公

c语言随机函数,做个菜单。

发布网友

我来回答

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com