C语言 计算数组中有多少个数字满足特定条件的函数



我想创建一个函数来计算数组包含多少个"主导"数字。我所说的主导是指一个数字比它右边下面的任何东西都大。我创建了主要内容来测试它是否有效,但程序只是崩溃。有什么建议吗?

#include <stdio.h>
#include <stdlib.h>
#define NR 4
#define NC 8
int dominants(int arr[NR][NC]);
int main(int argc,const char *argv[]){
int n;
int array[NR][NC]={{5,9,2,4,1,7,2,4}
,{3,5,6,2,5,6,1,2}
,{1,3,4,7,8,8,3,0}
,{1,3,5,6,7,8,2,1}};
n=dominants(array);
printf("there are %d dominants", n);
return 0;
}
int dominants(int arr[NR][NC]){
int i, j, k, l;
int flag, num;
num=0;
flag=0;
for(i=0;i<NC;i++){
for(j=0;j<NR;j++){
for(k=i+1;j<NC;k++){
for(l=k+1;l<NR;l++){
if(arr[j][i]<=arr[l][k]){
flag=1;
}
}
}
}
if(flag==1)
num++;
}

return num;
}

将第 24 行更改为条件,有 j<NC,而它应该是>

相关内容

最新更新