【发布时间】:2021-12-24 08:35:12
【问题描述】:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main()
{
int num;
long long max = 0;
long long min;
cin >> num;
long long *ptr = new long long[num];
for (int x = 0; x < num; x++)
{
cin >> ptr[x];
}
cout << "ptr for first elemnt" << endl;
cout << ptr[0];
for (int x = 1; x < num; x++) // 1 4 6 3 min 1 max 1
{
max = ptr[0];
if (max < ptr[x])
max = ptr[x];
min = ptr[0];
if (min > ptr[x])
min = ptr[x];
}
cout << "max value " << max;
cout << "Min value is " << min;
cout << max - min; // biggest number minues smallest number
return 0;
}
我试图找到数组中数字之间的最大差异,但我得到了数组中最大和最小差异最大的数字,但是当我检查最大值和最小值时,我发现它们是错误的,为什么会这样?
【问题讨论】:
-
您不需要数组。您可以在输入每个数字后跟踪最大值和最小值。
-
欢迎来到 Stack Overflow。请查看我们的intro section,特别注意minimal complete examples 上的页面。你给它什么数字?它是否正确找到最大值?分钟呢? 缩小范围,您可能会自己发现错误。