问题 我的If-条件声明的问题

Shiccorama.

新成员
加入
4月24日,2021年
消息
4
编程经验
1-3
亲爱的,你好吗?
这是Sherif,我是学习C#的新手,你能帮助我吗?
我的功能是:
C#:
double FirstNum;
double SecondNum;
double ThatsMyNum;

public void LargestOfThree(double x, double y, double z)
{
    if (x > y)
    {
        x = FirstNum;
    }
    else if (z > y)
    {
        z = SecondNum;
    }
    else if (FirstNum > SecondNum)
    {
        ThatsMyNum = FirstNum;
    }
    else
    {
        ThatsMyNum = SecondNum;
    }

    Console.WriteLine("The Largest Number is : " + ThatsMyNum);
}
并且输出是//最大数量为:0


为什么"zero", what's wrong ????
提前致谢 ....
 
最后编辑了主持人:

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,756
地点
悉尼,澳大利亚
编程经验
10+
您需要调试代码,您可以为自己解决它。在代码的顶部放置一个断点,然后,当执行此行时,您可以按行逐行执行代码行。在每个步骤中,您可以使用VS提供的调试工具来检查应用程序的状态,例如,变量和路径执行的值采用,并识别实际行为与您期望不同的位置。如果您这样做,您应该可以看到您的逻辑不会接近比较三个数字所需的逻辑。

您所拥有的代码是在初学者尝试编写代码时会发生什么的示例,而不知道该代码必须是什么。你可能知道最终结果应该是什么,但你显然没有真正的思想这些步骤应该是什么。这就是为什么你不开始编写代码。您应该首先锻炼逻辑,只有在您确切地了解它必须执行的内容后才编写代码。

忘记这是一个编程问题,然后拿起一张笔和纸张,如果您必须手动执行此任务,请确切地完成您的执行。写下这些步骤并按照具有许多不同数据输入的信件。只有在完成它并在考虑编写代码时,只有获得预期的结果。当您编写代码时,您甚至不必考虑原始任务。代码应直接在算法中实现步骤。如果您测试代码并且它不起作用,则可以将其与算法进行比较,以查看它无法正确实现它的位置。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,756
地点
悉尼,澳大利亚
编程经验
10+
As a clue, it should be obvious that, in order to determine the largest of three numbers, you need to perform at least two comparisons. With your code, if you start with x set to 10 and y set to 1, how many comparisons will be performed?
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,989
地点
切萨皮克,va.
编程经验
10+
略微关闭主题:

这会听起来像一个"在计算的过去"故事,因为它是。 :) 当我在80年代初和学习计划时5年级,他们不会让使用在我们绘制程序的逻辑流程后,使用任何实际代码。然后只在流程图之后,我们可以在纸上编写基本代码......我们无法将程序输入到实际计算机,直到我们可以展示我们的代码如何映射回流程图。

而且,当时我们听到了在美国的孩子们直接写入电脑的徽标代码。没有要求首先进行流程图。无需预先编写程序并证明它会起作用。 *叹*
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,170
地点
挪威
编程经验
10+
Slightly off topic:
在同一时间和年龄我正在将基本代码写入Commodore 64(不是位,它实际上是8位游戏控制台)并将其保存到一个好的旧盒式磁带上 :凉爽的:
 

约翰

C#论坛主持人
工作人员
加入
2011年4月23日
消息
1,170
地点
挪威
编程经验
10+
顺便说一下,还有另一种方式来获得最大的数字: Linq Max.
 
最佳 底部