gpt4 book ai didi

c++ - 找到最接近另一个数字的数字c++

转载 作者:行者123 更新时间:2023-11-28 03:07:49 24 4
gpt4 key购买 nike

我有一个文件,其中包含一个整数列表,并试图找到最接近 200 的那个。我整天都在研究这个问题,在来这里之前我自己也尝试过很多次。我知道我必须采取不同的方法并进行比较,但这就是我到目前为止所得到的。我们还没有介绍数组或创建函数。

文件中的数字列表 55 67 458 23 81 33 782 375 528 405 324 950 46 14 864 551 38 167 518 630

我目前的代码是

#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

int main()
{
ifstream datain;
datain.open("c:\\DataFile2.txt");
int count, sum, num, min, max;
count = sum = num = min = max = 0;

while(datain)
{
datain >> num;
sum = abs(num - 200);
if(sum < min)
sum = num;
}

变量名没有多大意义,因为我从程序的其他部分重用了它们。我尝试了不同的变体,也尝试了其他方法。输出始终是它们在开始时设置的数字。我仍然无法弄清楚这一点,如果能得到任何帮助,我将不胜感激。

最佳答案

问题是您正在初始化 min为 0,所以条件 sum < min永远不会是真的。

一个简单的解决方案是初始化min使用从 datain 获得的第一个值在进入循环之前。

虽然是chris说,还有更优雅的解决方案,比如使用 std::min_element .

关于c++ - 找到最接近另一个数字的数字c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19264710/

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