如何从已经规定的数组中随机取出一个元素?

比如我用a[5]存进去五个学生的学号,然后让电脑从这个数组中随机挑出个数,请问这个随机怎么弄?还有挑出这个随机产生的数后,再把他从数组中删去,咋弄啊!!!有思路,但是我解... 比如我用a[5]存进去五个学生的学号,然后让电脑从这个数组中随机挑出个数,请问这个随机怎么弄?还有挑出这个随机产生的数后,再把他从数组中删去,咋弄啊!!!有思路,但是我解决不了!!!如果可以能写下代码吗?C语言刚刚学完,感觉好多东西都解决不了。。。。 展开
 我来答
柳光笺
2013-12-23 · TA获得超过258个赞
知道答主
回答量:39
采纳率:0%
帮助的人:48.7万
展开全部

这样吧 我先给写思路 你还不会再追问我

先贴 随机产生 0 至 n-1 的数值的代码(ps: 回答的编辑器右上角 有个代码语言 可以方便贴代码的)

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
srand( time(NULL) );
for( i = 0; i < 20; i++ )
printf( "Random number #%d: %d\n", i, (int)(11.0*rand()/(RAND_MAX)) ); 
return 0;
}

这样就可以产生 剩余学生学号 的位置  

然后是删除 如果删除int a[5] 中的 a[2] 就把 a[3] a[4] 向前移动一位 然后 剩余学生数量减一

再根据剩余学生数量 随机一个数值 再删除

其中每次都要判断 学生数量是否为 0 如果为0 就结束 


先这样吧。。。

来自:求助得到的回答
乐非淘
2015-11-03 · TA获得超过2241个赞
知道小有建树答主
回答量:711
采纳率:0%
帮助的人:397万
展开全部
array_rand($arr[, $num])$arr == 用来取元素的数组$num == 随机取下标的个数其中第二个参数 $num 是可选的,默认为1 。注意:它的返回值在第二个参数大于 1 的时候是一个数组;当第二个参数不设或者传值 1 的时候是一个下标。简单的示例代码如下:1、第二个参数不传值的情况;$arr = Array('a', 'b');$rndKey = array_rand($arr);echo $arr[$rndKey];//输出 a 或者 b2、第二个参数传值大于 1 的情况;$arr = Array('a', 'b', 'c', 'd');$rndKey = array_rand($arr, 2);print_r($rndKey]);//输出一个随机key的数组
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式