如何获取int数组中的元素数量?

时间:2015-10-01 08:22:01

标签: c# arrays

在这种情况下我想获取数组中的元素数,但该数组依赖于用户输入

int first = int.Parse(Console.ReadLine());
int second = int.Parse(Console.ReadLine());
for (int i = first; i <= second; i++)
{
    if (i % 5 == 0)
    {
        int[] some =new int [i];
        int c =some.Length;
        Console.WriteLine(c);
    }
}

我尝试了几个选项,但输出仍然是可以被5整除的数字列表,没有余数。怎么做?

示例:first = 15second = 50。 预期输出= 8

8个数字可被5整除而没有余数(15,20,25,30 ... 50)

1 个答案:

答案 0 :(得分:1)

你可以循环查看数字并计算你可以被5整除的数量:

int first = int.Parse(Console.ReadLine());
int second = int.Parse(Console.ReadLine());
int cnt = 0;
for (int i = first; i <= second; i++) {
  if (i % 5 == 0) {
    cnt++;
  }
}

但是,你不必生成数字来知道有多少。您可以只计算最后一个数字的位置(因为它比第一个更容易),然后计算在此之前但在第一个数字之后的数量:

int first = int.Parse(Console.ReadLine());
int second = int.Parse(Console.ReadLine());
second -= second % 5;
int cnt = (second - first) / 5 + 1;

例如,对于输入311,您要计算数字510。表达式11 % 5提供1,因此second变为10(最后一个数字)。然后second - first7,使用5进行整数除法,得到1,然后添加12