简体   繁体   English

大于特定数量的元素

[英]Elements greater than certain number

I would like to find the number of elements greater than a given number in an array.我想在数组中找到大于给定数字的元素数。 Like if I have the following array: { 10, 113, 34, 2, 19, 57} And want to look for numbers greater than 30 then I would get 3.就像我有以下数组:{ 10, 113, 34, 2, 19, 57} 并且想要查找大于 30 的数字,那么我会得到 3。

Here is my code这是我的代码

#include <stdio.h>

int main()
{
    int array[] = { 10, 113, 34, 2, 19, 57}; 
    int n = sizeof(array) / sizeof(array[0]); 
    int A = 30;
    
    int l = 0; 
    int r = n - 1; 
    
    int leftGreater = n;
  
    while (l <= r) { 
        int m = l + (r - l) / 2; 
  
        if (array[m] > A) { 
            leftGreater = m; 
            r = m - 1; 
        } 
  
        else
            l = m + 1; 
        
    } 
    printf("%d",n - leftGreater);
}

But instead of 3, I'm getting 5. Can anyone please help me solve this?但是我得到的是 5 而不是 3。谁能帮我解决这个问题?

A simple for loop is enough:一个简单for循环就足够了:

#include <stdio.h>

int main(void)
{
    int array[] = { 10, 113, 34, 2, 19, 57 }; 
    int n = sizeof(array) / sizeof(array[0]); 
    int x = 30, res = 0;

    for (int i = 0; i < n; i++)
    {
        if (array[i] > x)
        {
            res++;
        }
    }
    printf("%d\n", res);
    return 0;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将大于 1 的数的平方根计算到一定的精度 - Evaulating the square root of a number greater than 1 upto a certain precision 如何查找大于/小于数组中元素的元素数? - How to find number of elements greater/smaller than an element in an array? 对于数组中的每个元素,我们如何计算右侧大于该元素的元素数量? - How can we calculate, for every element in an array, the number of elements to the right that are greater than that element? 如何找到大于该数字之前(之上)所有元素之和的堆栈元素? [等候接听] - How to find an element of stack which is greater than sum of all the elements which are before(above) that number? [on hold] 存储大于20的数字! (阶乘) - Storing a number greater than 20! (factorial) 检查第二个数字是否大于或小于第一个数字 - Check whether the second number is greater than or less than to first number 将一定数量的元素放入数组 - Get a certain number of elements into an Array 在 C/MPI 中计算数组中大于 x 的数组元素时卡住了 - Stuck at counting array elements greater than x in an array in C/MPI 交流阵列的对齐-阵列元素的对齐大于元素大小 - alignment of a c array - alignment of array elements is greater than element size C宏获得大于给定数的2的最小幂 - C macro to get the smallest power of two greater than a given number
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM