如何检查数组中的非零值(元素)

时间:2012-06-10 20:13:36

标签: c arrays

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

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

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

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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

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;
}

答案 2 :(得分:-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;
}
谢谢你们试图解决我的问题 &LT; 3