gpt4 book ai didi

C - 获取数组中两个最接近的 int 数字

转载 作者:行者123 更新时间:2023-11-30 16:54:28 26 4
gpt4 key购买 nike

我有一个要求用户输入的数组。 (我询问了数组中的数字数量,并询问了这些数字)。我的问题是如何比较所有数字并找到两个最接近的数字?

那么,例如,如果用户输入 4 个数字,例如:3、5、8、9。程序应该将 8 和 9 视为最接近的数字?之后我只需要减去两个最接近的数字即可。

这是我到目前为止的代码:

    int main()
{
int N;
int c;
scanf("%d", &N);

for (c = 0; c < N; c++)
scanf("%d", &array[c]);

最佳答案

首先对数组进行排序。取 3 个临时变量 n1=0、n2=0、diff=0。迭代排序后的数组,将n1、n2赋值给a[i]、a[i+1],其中a[]是数组,i是迭代器。

If     absolute(a[i]-a[i+1]) < diff     then 
diff = absolute(a[i]-a[i+1]);
n1 = a[i];
n2 = a[i+1];

迭代完成后,您将获得 n1 和 n2 中最接近的元素。注意:请注意a[i+1]的数组越界,我刚刚给出了一种方法。

关于C - 获取数组中两个最接近的 int 数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40527681/

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