[英]How can I make my program select numbers that divide the sum of numbers from an array?
我希望我的程序讀取用戶輸入並將其保存到數組中,然后對用戶輸入的所有數字求和,並選擇那些除以總和的數字。 是否可以使用任何現成的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);
沒有內置,但你可以這樣做:
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);
如果您可以使用LINQ,您可以執行以下操作:
int[] dividers = numbers.Where(number => number % sum == 0).ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.