gpt4 book ai didi

c - 返回数组中小于 3.0 的元素数量

转载 作者:行者123 更新时间:2023-11-30 19:20:31 25 4
gpt4 key购买 nike

我正在创建一个返回数组中小于 3.0 的元素数量的函数。

我正在尝试使用函数原型(prototype) int lesser_than_third(int *x, int size); 其中 x 是指向数组第一个元素的指针,并且size 是数组的大小。

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

#include <stdio.h>

int smaller_than_three(int *x, int size);

int main()
{
smaller_than_three(0,10);
return 0;
}


int smaller_than_three(int *x, int size)
{
int array[size][size];
*x = &array[size][0];

int i;
int j=0;
for (i=0; i<size; i++){
if (array[size][i] < 3.0) {
j = j+1;
}
}
return j;
}

我不确定我的 *x 和实现数组时问题出在哪里。

最佳答案

如果您考虑到数组变量(本质上)是指针,并且在作为函数参数传递时始终是指针,并且指针可以被视为数组,那么您的代码就变成了这样:

int smaller_than_three(int* list, int size)
{
int found = 0;

for (int index = 0; index < size; index++)
{
if (list[index] < 3)
found++;
}

return found;
}

int main()
{
int list[] = {10,9,8,7,6,5,4,3,2,1};
int found = smaller_than_three(list, 10);
printf("%d\n", found); // prints "2"
return 0;
}

此外,您还将整数列表中的元素与浮点值“3.0”进行比较。这会导致较小的开销,并在可能不需要的地方引入浮点。如果需要浮点比较,您可以选择将列表数组更改为“double”或“float”类型。

关于c - 返回数组中小于 3.0 的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22125036/

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