2015-09-17 38 views
-2
static void Main(string[] args) 
{ 

    int five = 5; 
    int sum = 0; 

    for (int i = 0; i < 1000; i++) 
    { 
     if (i % five == 0) 
     { 
      Console.WriteLine(i); 
     } 
    } 
} 

这只是打印出的5所有的倍数,即低于1000如何合并for循环的所有结果?

有什么办法,我可以添加了所有的结果进行循环?

+0

什么?“结果”你指的是数字的总和?你想把你正在写出来的数值加到控制台上吗? –

+1

你已经有了一个'sum'变量和正确的'if'语句...... – sloth

+1

你只需要在正确的地方添加一个'sum = sum + i;'。 –

回答

1

什么意思是“加起来”?你可以像一个List<int>它们添加到一个集合:

List<int> multpiplesOf5 = new List<int>(); 
for (int i = 0; i < 1000; i++) 
{ 
    if (i % 5 == 0) 
    { 
     multpiplesOf5.Add(i); 
    } 
} 

如果你想输出的所有可以循环他们:

foreach(int i in multpiplesOf5) 
    Console.WriteLine(i); 

或使用String.Join

string result = String.Join(Environment.NewLine, multpiplesOf5); 

这里是一个简洁的LINQ版本循环:

List<int> multpiplesOf5 = Enumerable.Range(0, 1000).Where(i => i % 5 == 0).ToList(); 

如果你不是要总结起来,你可以使用LINQ扩展Enumerable.Sum:如果你想要的是整除5号的个数

int sumOfAll = multpiplesOf5.Sum(); 

int count = multpiplesOf5.Count(); 

或不带有单个LINQ查询的列表:

int count = Enumerable.Range(0, 1000).Count(i => i % 5 == 0); 
+0

他不是只是想把它们加起来(即总和它们)吗? –

+0

@MthetheWWatson:恩,好点,可以。所以相应地编辑了我的答案无论如何,他需要收藏品,所以第一部分并非无用。 –

0
using System.Linq; 

var sumOfFives = Enumerable 
    .Range(0, 1000) 
    .Where(i => i % 5 == 0) 
    .Sum(); 
+2

bools的总和? –

+0

哎呀,意思是在哪里,谢谢@TimeSchmelter会改正。 –

0

如果你的意思是让所有的倍数5然后

static void Main(string[] args) 
{ 

    int five = 5; 
    int sum = 0; 

    for (int i = 0; i < 1000; i++){ 

     if (i % five == 0) 
     { 
      sum += i; 
     } 

    } 

    Console.WriteLine(sum); 
}