计算范围内所有奇数随机数的总和

时间:2014-02-06 16:20:10

标签: c# random add

我已经完成了基本代码,并且它生成了20个随机数,但现在我正在尝试 添加所有奇数并在底部显示总和。 我的问题是我不知道如何做到这一点。

请保持您的代码简单并以某种方式解释它,以便我能理解它。

Random rnd = new Random();
Console.WriteLine("\n20 random integers from 1 to 10:");
for (int X = 1; X <= 20; X++)
{
    int y = rnd.Next(1, 10);
    if (y % 2 == 1)
    {
        // Add all the odd # and display sum.
        // No clue, LOL.
    }
    else
    {
    }
    Console.WriteLine("{0}", y);
}
Console.ReadLine();

5 个答案:

答案 0 :(得分:1)

创建一个变量来存储总和,并在找到奇数时添加它:

int sum = 0;
for (int X = 1; X <= 20; X++)
{
    int y = rnd.Next(1, 10);
    if (y % 2 == 1)
    {
        sum += y; // sum = sum + y;
    }

    Console.WriteLine("{0}", y);
}

Console.WriteLine("sum: {0}", sum);

答案 1 :(得分:0)

你差不多完成只需要创建sum变量并将奇数加到sum变量里面if block

试试这个:

        Random rnd = new Random();
        int sum=0;
        Console.WriteLine("\n20 random integers from 1 to 10:");
        for (int X = 1; X <= 20; X++)
        {
            int y = rnd.Next(1, 10);
            if (y % 2 == 1)
            sum+=y;                

            Console.WriteLine("{0}", y);
        }
        Console.ReadLine("sum is ="+sum);
        Console.ReadLine();

答案 2 :(得分:0)

Random rnd = new Random();
int sumOdd = 0;
Console.WriteLine("\n20 random integers from 1 to 10:");
for (int X = 1; X <= 20; X++)
{
    int y = rnd.Next(1, 10);
    if (y % 2 == 1)
    {
    sumOdd += y;
    //add all the odd # and display sum
    // no clue lol
    }
    else
    {
    }
    Console.WriteLine("{0}", y);
}
Console.WriteLine("Sum is {0}", sumOdd);
Console.ReadLine();

答案 3 :(得分:0)

如果您愿意,可以使用LINQ方法:

int[] numbers = new int[20];
Random rnd = new Random();
var sum = numbers.Select(x => rnd.Next(1, 10))
          .Where(number => number % 2 != 0)
          .Sum();

答案 4 :(得分:0)

为了最简单,我会这样做。参见:

    for (int i = 1; i <= 20 / 2; i++)
    {
        System.Console.WriteLine(i * 2);
    }

我没有做任何测试,只需要从1到20取偶数。为了得到奇数,你可以在那个列表上做-1。

for (int i = 1; i <= 20 / 2; i++)
{
    System.Console.WriteLine((i * 2) - 1);
}

因此要生成20次奇数的随机数,你可以这样做:

int sum = 0;
for (int X = 1; X <= 20; X++)
{
    int y = (rnd.Next(1, 10 / 2) * 2) - 1; // the number allways will be generated and odd.
    sum += y;
}