我想知道如何编写一个函数来返回是否有至少三个不等于 0 的值。我搜索了类似的问题,但找不到任何有效的解决方案。为了解释我的问题,这里有一个例子:
我有一个包含这些元素的数组: [1,0,2,0,4,0,0,3,0,0]
. 我想检查是否至少有 3 个元素不等于零。
1
如果至少有 3 个元素,我的代码将返回!= 0
,或者0
如果元素少于 3个,则返回!=0
。
所以在我的例子中它应该返回1
.
计算不等于零的元素个数。如果小于三个,则返回 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