0

我希望我的程序读取用户输入并将其保存到一个数组中,然后将用户输入的所有数字相加,然后选择那些除以总和的数字。是否可以使用任何现成的 c# 方法来做到这一点(比如 FindAll() ?)

我的程序的最终版本应该列出除所有输入数字之和的所有数字。

我的代码如下:

Console.WriteLine ("Please type 10 numbers");

        int[] numbers = new int[10];
        int sum = 0;

        for (int i = 0; i < numbers.Length; i++) {

            string input = Console.ReadLine ();
            int.TryParse (input, out numbers[i]);

            sum += numbers [i];
        }

        Console.WriteLine (sum);
4

2 回答 2

1

如果您可以使用 LINQ,您可以执行以下操作:

int[] dividers = numbers.Where(number => number % sum == 0).ToArray();
于 2013-08-27T09:37:21.037 回答
1

没有内置任何东西,但你可以这样做:

int[] data = new [] {2, 3, 4, 5, 6};

int sum = data.Sum();

var dividers = from number in data
               where (sum % number) == 0
               select number;

foreach (var divider in dividers)
    Console.WriteLine(divider);
于 2013-08-27T09:33:19.070 回答