【发布时间】:2017-06-05 23:17:17
【问题描述】:
以下代码旨在要求用户指定他们想要输入的整数个数,然后找到并显示它们之间的最大值和最小值。但是,它没有编译,这可能是因为我初始化 minInt 和 maxInt 变量的方式,但我不确定。请帮忙!提前致谢!
#include <iostream>
using namespace std;
int main()
{
int inNum, inInt, minInt, maxInt, i;
minInt = INT_MAX;
maxInt = INT_MIN;
cout << "How many numbers would you like to enter?" << endl;
cin >> inNum;
cout << "Please enter " << inNum << " integers." << endl;
for(i = 0 ; i < inNum; i++)
{
cin >> inInt >> endl;
if(inInt > maxInt)
{
maxInt = inInt;
}
if(inInt < minInt)
{
minInt = inInt;
}
}
cout << "min: " << minInt << endl;
cout << "max: " << maxInt << endl;
return 0;
}
【问题讨论】:
-
错误信息是什么(以及它是哪一行)?
-
cin >> inInt >> endl;endl告诉输出流打印换行符并将流刷新到底层介质。它不应该在输入语句中。 -
您还需要
#include <climits>。 -
另外,使用 C 的
INT_MAX和INT_MIN的 C++ 方式分别是numeric_limits<int>::max()和numeric_limits<int>::min(),可在<limits>中找到。 -
下面是粘贴的错误信息: minmax.cpp: In function 'int main()': minmax.cpp:7:11: error: 'INT_MAX' was not declared in this scope minInt = INT_MAX; ^ minmax.cpp:8:11: 错误:'INT_MIN' 未在此范围内声明 maxInt = INT_MIN; ^ minmax.cpp:14:16: 错误: 'operator>>' 不匹配(操作数类型是 'std::basic_istream
::__istream_type {aka std::basic_istream }' 和 ' ') cin >> inInt >> endl;
标签: c++ loops for-loop max min