gpt4 book ai didi

c++ - 找出数字之间的最大差异

转载 作者:行者123 更新时间:2023-11-30 05:34:26 27 4
gpt4 key购买 nike

给定 n 个数字,找出其中两个数字之间的最大差异。例如,对于输入数据 1 2 7 -6,我们有 13=7-(-6)。但是我的代码似乎没有输出正确的结果:

#include <iostream>
#include <algorithm>
int main()
{
int n, j, k;
std::cin >> n;
int *a;
a = new int[n];

for (j=0; j<n; j++)
{
std::cin >> a[j];
}

std::sort(a, a + sizeof(int));


k=a[n-1]-a[0];
std::cout << k;

delete [] a;

return 0;
}

最佳答案

正如 Olivier 回答的那样,您的错误在于对 std::sort() 的调用,但我想指出除非这是您任务的强制性要求(它可能是家庭作业的一部分),否则您不需要对数组进行排序也不需要数组。

#include <iostream>
#include <climits>

int main() {
int n, j, a;
int max = INT_MIN;
int min = INT_MAX;

if ( std::cin >> n && n > 0 ) {
while ( j < n && std::cin >> a ) {
if ( a < min ) min = a;
if ( a > max ) max = a;
j++;
}
std::cout << max - min;
}
return 0;
}

关于c++ - 找出数字之间的最大差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34233140/

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