3

我想知道如何编写一个函数来返回是否有至少三个不等于 0 的值。我搜索了类似的问题,但找不到任何有效的解决方案。为了解释我的问题,这里有一个例子:

我有一个包含这些元素的数组: [1,0,2,0,4,0,0,3,0,0]. 我想检查是否至少有 3 个元素不等于零。

1如果至少有 3 个元素,我的代码将返回!= 0,或者0如果元素少于 3个,则返回!=0

所以在我的例子中它应该返回1.

4

3 回答 3

4

计算不等于零的元素个数。如果小于三个,则返回 false,否则返回 true。

为了获得计数,使用 for 循环遍历数组的内容,然后使用 if 语句测试元素是否为零。

于 2012-06-10T20:15:08.043 回答
1
int non_zero(int a[], int lim) {  
    int i, count;
    count = 0;
    for (i = 0; i < lim && count < 3; i++)
        if (a[i] != 0)
            count++;
    return count == 3 ? 1 : 0;
}
于 2012-06-11T05:28:40.367 回答
-1

我想分享我的解决方案

int check(){
    int arr[10]= [1,0,2,0,4,0,0,3,0,0];
    int total=0;
    for(int i=0;i<=10;i++){
        total+=arr[i];
     }
    return total;
}

谢谢你们试图解决我的问题<3

于 2012-06-12T22:23:39.053 回答