gpt4 book ai didi

c - 如果数组中的每个整数都不同,我该如何编写一个返回 true 的函数?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:42 24 4
gpt4 key购买 nike

我必须编写一个函数,如果数组中的每个整数都是唯一的(不同的),该函数将返回 true。因此,我已经尝试更正我的 for 循环/我的 if 语句,并且我已经尝试运行我编写的测试。但是,对一个整数出现不止一次的字符串的测试仍然失败。我检查了我的代码,但仍然找不到问题。

#include "in.h"

int in(int input[], int size)
{
for (int i = 0; i < size - 1; i++)
{
for (int j = i + 1; j < size; j++)
{
if (input[i] == input[j])
{
return 0;
}
}
}

return 1;
}

这是我的测试用例:

#include "in.h"
#include "checkit.h"

void in_tests(void)
{
int input[3] = {2, 4, 5};
int answer;

answer = in(input, 3);
checkit_int(answer, 1);

int input1[4] = {1, 3, 4, 1};
int answer1;

answer1 = in(input1, 4);
checkit_int(answer, 0);
}

int main()
{
in_tests();

return 0;
}

最佳答案

没有排序,O(n2):

j 以 i+1 开头。

int IsDiff(int array[], int count)
{
int i,j;
for (i=0; i<count; i++)
{
for (j=i+1;j<count;j++)
{
if (array[i] == array[j])
return 0;
}
}
return 1;
}

关于c - 如果数组中的每个整数都不同,我该如何编写一个返回 true 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826814/

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