编写一个程序,该程序将从用户接收数字,直到用户输入0或负数

时间:2016-03-13 15:20:48

标签: c++

我需要编写一个程序,它将从用户接收数字,直到用户输入0或负数,并且程序将打印出最大数字。 所以我的问题是:如果我把第一个数字作为最大数字,那么程序由于某种原因没有收到它 任何想法为什么? 点击此处查看代码>>

的图片

Here is my code so far

3 个答案:

答案 0 :(得分:1)

在您的代码中,收集的第一个num会被循环中的cin覆盖,因此在与biggest进行比较时不予考虑。

答案 1 :(得分:0)

这里的问题是你在阅读它之前重新定义了num。

在再次读取之前,您应该更改程序流以检查num是否大于num。

答案 2 :(得分:0)

我建议您在继续之前自行调试代码。 :)
您的代码中的问题是下面用红色突出显示的行:

enter image description here

发生的情况是,当执行带下划线的代码 cin>> num 时,num包含值999.在while循环中,当您再次输入num的值时(显示为asterik),该值被新值覆盖(即123)。因此,当输出最大值时,显示的答案是123,这确实是正确的。如果您想纠正此错误,请删除 cin>> num 这是强调的。