c - 嵌套循环比较数组中的整数

标签 c arrays compare

这是我的。它正在跳过零。我该如何解决?我正在尝试计算数字重复的次数。

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/

相关文章:

c - 米斯拉-C :2012 warning of Rule 10. 8 "being cast to a wider type"

c - 将数组作为函数参数传递 c

c - pthread_cond_wait 无限等待的可能原因

ios - For循环以随机顺序追加数组

检查管道状态

C - 多态 (void *) 数组

java - 需要将下面的 JSON 对象转换为 String JAVA

c - 较小等于的AVX2整数比较

linux - 将 bash 脚本中的时间与 ± x 分钟进行比较

diff - 如何在Perforce中使用自定义比较工具?