2013-10-19 37 views
-1

如何获得三个数字的最小值和最大值,只有三个If语句(无其他)并且没有任何循环? 我有下面的代码,这给了我刚才的最大值:家庭作业帮助:if语句的最大值和最小值

  max = a; 
      min = a; 

      if (b > max) 
      { 
       max = b; 
      } 
      if (c > max) 
      { 
       max = c; 
      } 

我怎样才能得到最小值多一个if语句?

+0

提醒我这个问题。交换两个变量而不使用第三个变量。当然你可以做到这一点,但为什么写混淆的代码?只需使用第三个变量。 –

+0

为什么,为什么,为什么?与所有语言一样,C#也有内置的功能。 使用系统; using System.Linq; 类节目 { 静态无效的主要() { \t INT []数组1 = {1,-1,-2,0}; \t //找到最大数量。 \t Console.WriteLine(array1.Max()); } } –

+0

@JasonEnochs - 一种可能性是学习合并分类如何工作。对于少数项目(2-4),最小/最大值也可能稍微快一点......但通常 - 在家庭作业/热身面试问题之外没有用处。 –

回答

6
int a = 10, b = 20, c=30; 

int max = a, min = b; 

if (a < b) 
{ 
    min = a; 
    max = b; 
} 

if (c < min) 
    min = c; 
if (c > max) 
    max = c; 

它正好三个逻辑,如果确定最大值和最小值。我希望这会有所帮助。

+2

不错,你击败了我的拳头,但这不像是一个家庭作业:) – user2888973

+0

我同意。它绝对是一项任务 – abhishek

-2

您是否允许使用else

max = a; 
min = a; 

if (b > max) 
{ 
    max = b; 
} 
else 
{ 
    min = b; 
} 
if (c > max) 
{ 
    max = c; 
} 
if (c < min) 
{ 
    min = c; 
} 
+1

他说他不允许用别的 – user1567896

+0

好点,我完全错过了这个问题。这么多仔细阅读... – acfrancis