这是我的。它正在跳过零。我该如何解决?我正在尝试计算数字重复的次数。
void hit_rate(int a, int cmset[])
{
int i, j, k=0;
for(i=0;i<a;i++){
for(j=i;j<a;j++){
if((cmset[i] == cmset[j])){
k++;
}
}
printf("%d\n",k);
k=0;
}
}
cmset k **now** prints
4 2
6 1
0 3
0 2
0 1
1 1
2 1
4 1
最佳答案
在计算重复项时,
例如arr[5] = {1, 2, 2, 3, 3};
从
i = 0; // first loop
j = i; //2nd loop
comapre arr[i] == arr[j];//条件
通过这种方式,如果您用所有 i = 1..4 测试了 arr[0] 会发生什么;
在下一次迭代中,您不需要用 arr[0] 检查 a[1],因为它已经完成(或检查)。
增加计数器(当重复匹配时)。一旦它结束数组重置计数器的末尾。并打印出来。
我希望它有所帮助。仍然很困惑,那么我会为您提供示例代码。
关于c - 嵌套循环比较数组中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100009/