2009-12-17 61 views
0

如果我有变量与数字如何找出哪些是最高值的三个?比较变量的简单逻辑问题

+0

对它们进行排序并取前三位。 – 2009-12-17 20:20:17

+1

这是如何标记为与编程无关的? – 2009-12-17 20:28:15

+0

[不要标记](http://meta.stackexchange.com/questions/43879/anti-tags-valid-use-or-not)[与编程无关。](http://meta.stackexchange .COM /问题/ 10216 /可以-WE-禁止最的用的,属于上-XXXXXXX-和不编程有关的标签) – 2010-04-08 19:42:00

回答

1

我不想说我是新生儿,因为我不认为我是。然而这个问题很难回答。我只用了大约8个月的PHP编码,而且我认为有更好的方法来实现这样的效果。根据我的技能我选择使用PHP以及与此想出了:

<?php 

$variable = array(); 
$variable[1] = 15; 
$variable[2] = 30; 
$variable[3] = 9; 
$variable[4] = 86; 
$variable[5] = 46; 
$variable[6] = 12; 
$variable[7] = 86; 

## Clean the array of duplicates 
$variable = array_unique($variable); 

## Sort array from greatest to lease in DESC order 
rsort($variable); 


for ($i = 0; $i < 3; $i++): 
    echo $variable[$i]."<br />"; 
endfor; 

?> 

击穿

  • 首先声明你的阵列
  • 那么你的数组项
  • 清洁与阵列“ array_unique“删除重复值
  • 使用”rsort“从最大到最小排序数组
  • 启动for循环其中$ i等于0,执行,而$ i是小于3,添加一个$我每次迭代
  • 回声数组项

祝你好运!

7

你可以通过它们可以手动进行迭代,前3名(保持你至今以某种形式的信息),或只是排序所有这些,取前3

1

这真的取决于语言,你”重新使用。

我会建议把它们全部放在一个数组中,按照从高到低的顺序排列它们,然后前三个元素将会是最高的。

0

您可以按降序对它们进行排序,前三项将是您想要的。

0

不要忘了,这里有几个奇怪的情况:

  1. 其中最高值出现3次以上,这样不仅仅有一个正确答案的情况。例如,如果有十几个变量的值都为零。

  2. 如果你有这样一个程序少于3个变量可能有问题。