c语言输出随机数switch,对switch语句使用唯一的随机数

作者寻求一个函数或数组,能在1-47范围内生成不重复的随机数,以避免switch语句中重复使用同一个编号。他们提到使用rand()可能产生重复,询问了如何确保每个case的参数是唯一的随机ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我需要一个函数或数组,它给了我从1 - 47中的随机数,所以我可以在下面使用它来获取我的代码。对switch语句使用唯一的随机数

public function output($question_id, $solution) {

$yes = ($GLOBALS['TSFE']->sys_language_uid == 0) ? 'Ja' : 'Oui';

$no = ($GLOBALS['TSFE']->sys_language_uid == 0) ? 'Nein' : 'No';

switch ($question_id) {

case 1:

$arg = array(

'main_content' => $this->build_html(1, '01_0429_04_14_Psori_Arthro.jpg', $yes, $no, $solution)

);

break;

case 2:

$arg = array(

'main_content' => $this->build_html(2, '02_0342_05_14_Psori_Arthropathie.jpg', $yes, $no, $solution),

);

break;

case 3:

$arg = array(

'main_content' => $this->build_html(3, '03_0255_05_14_Psori_Arthropathie.jpg', $yes, $no, $solution),

);

break;

}

}

case 1:

$arg = array(

'main_content' => $this->build_html(1, '01_0429_04_14_Psori_Arthro.jpg', $yes, $no, $solution)

);

应该以某种方式是这样的:

case $random_id:

$arg = array(

'main_content' => $this->build_html($random_id, '01_0429_04_14_Psori_Arthro.jpg', $yes, $no, $solution)

);

因此,这意味着,每一种情况下,函数的每个第一参数build_html应得到一个独特随机ID。

当然,我可以使用rand()但后来很可能会得到重复的值。

任何帮助,将不胜感激!

2016-07-29

Reza

+0

您是否特别需要从1到47之间的随机数字,或者是1到47之间的非重复数字? –

+0

@Andrew我需要47个随机数,因为我有47个例子,每个数字都应该是唯一的。 –

+0

既然你知道范围,为什么不只是做一个循环?从外观上看,你并不需要1到47之间的随机数字,而是需要1到47之间的数字。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值