c++ - 如何从用户输入中输出最大 int?
问题描述
我写了一个程序,应该int
从用户输入中输出最大值:
15 20 0 5 -1
应该输出Max: 20
似乎有一个无限循环,因为它永远不会到达最终cout
语句。while 循环应该以负数停止。它现在没有输出任何东西。
这是我的代码:
#include <iostream>
using namespace std;
int main()
{
int currV;
int maxSoFar;
// 15 20 0 5 -1
// should output 20
cin >> currV;
if (currV > 0)
{
maxSoFar = currV;
}
while (currV > 0)
{
if (currV > maxSoFar)
{
maxSoFar = currV;
}
cin >> currV;
}
cout << "Max: " << maxSoFar;
}
解决方案
首先,我建议更好地格式化您的代码。
此外,您的代码看起来很混乱,我建议您这样做:
#include <iostream>
using namespace std;
int main() {
int currV = 0;
int maxSoFar = 0;
while (cin >> currV)
{
if(currV < 0)
{
cout << "Max: " << maxSoFar;
return 0;
}
if(currV > maxSoFar)
{
maxSoFar = currV;
}
}
}
推荐阅读
- .net - 接口函数应该强制输入吗?
- c++ - 仅在第一次实际写入时覆盖文件
- docker - Docker Build 在控制台输出中缺少中间层
- javascript - 打字稿:异步等待 promise.all 循环所有结果的问题
- java - Spring MVC验证控制器中POST / PUT方法中的所有参数
- python - 使用 Structlog 获取最后一个日志值并将其作为变量传递给函数
- laravel - Laravel 雄辩“用”的简单方法
- powershell - 外壳 | 用随机名称重命名文件
- python - 通过python中的列表理解从字典中获取所有项目数天
- javascript - 将变量插入标签时角度崩溃