gpt4 book ai didi

c++ - 程序正在从文件中读取最大数字,但不是最小数字

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:33 24 4
gpt4 key购买 nike

我正在编写一个程序,它使用 while 循环从输入文件中读取整数,找到最小和最大的数字并输出它。我的输出文件成功地显示它找到了最大的数字,但它说最小的数字是 0,即使在我的输入文件中最小的数字是 11。这是我的代码:

#include <fstream>
#include <string>
#include <iomanip>
#include <iostream>

using namespace std;

int main()
{
fstream instream;
instream.open("lab7_input.txt");
ofstream outstream;
outstream.open("lab7_output.txt");

int next, largest, smallest;
largest = 0;
smallest = 0;

while (instream >> next)
{
if (largest < next)
{
largest = next;
}
if (smallest > next)
{
smallest = next;
}
}

outstream << "The largest number is: " << largest << endl;
outstream << "The smallest number is: " << smallest << endl;
instream.close();
outstream.close();
return 0;
}

最佳答案

这是你的问题:smallest = 0;

测试最小值/最大值时,请尝试将您的 minmax 变量初始化到它们范围的另一端。使用 INT_MININT_MAX 来执行此操作。试试这个:

#include <climits>

...

int next, largest, smallest;
largest = INT_MIN;
smallest = INT_MAX;

现在,无论您的数字集中是什么,您的程序都可以确保具有最大/最小值。

关于c++ - 程序正在从文件中读取最大数字,但不是最小数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58383242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com