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

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

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

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

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

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

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

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

我想分享我的解决方案

 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