在C中查找N个整数的最大整数的数量

时间:2015-10-28 01:17:10

标签: c arrays algorithm int stdio

我想这样做的代码告诉你(n)整数比(k)输入更大(或更多)的整数。

例如:

input:
4 15
12 
6 
15
24

output:
2

所以4是用户输入的整数数,15是k数,现在输出的数字是大于k的数字。

我的代码是:

#include<stdio.h>

int main()
{
    int n, k, i;
    int c, d;     
    scanf(" %d",&n);
    scanf("%d", &k);

    for(i=1;i<=n;i++)
    {
        scanf("%d",&c);
        if (c[i]>k)
            c[i]=d;
    }
    printf("%d", d);      
    return 0;
}

正如你可以看到我的代码糟透了,我不知道如何找到大于k的整数并打印数量,而不是数字本身。任何帮助都是真正的帮助。感谢。

2 个答案:

答案 0 :(得分:2)

不确定为什么要尝试将c作为数组引用。这不是必需的。试试这个:

int main() 
{
   int n, k, i, c;
   int count = 0;

   scanf(" %d",&n);
   scanf("%d", &k);

   for(i=1;i<=n;i++)
   {
     scanf("%d",&c);
     if (c > k)
       count++;
   }

   printf("%d", count); 
   return 0
}

此外,我会将您的变量重命名为更有意义的内容,例如numEntriescheckValue等。

答案 1 :(得分:2)

远不那么优雅的解决方案,但保留了你需要进一步使用的价值.OldProgrammer做得更简单,更漂亮。

int main()
{   
  int num, s, i, cnt = 0;
  printf("please input number of integers and int to compare with\n");
  scanf("%d %d", &s, &num);
  int arr[s];
  for(i = 0; i < s; i++)
  {
    printf("Please input %d. number", i+1);  
    scanf("%d", &arr[i]);
  }

  for(i = 0; i < s; i++)
  {
    if(arr[i] >= num)
      cnt++;
  }
   //at this point cnt holds the value you need

  return 0;
}