随机数添加问题

时间:2014-02-10 05:40:05

标签: c# if-statement for-loop random

您好我创建了此代码,但现在我被卡住了。 我如何添加N1和N2之间的所有数字,除了可被5整除的数字? 并显示结果?

问题:我的if语句如果y可被5整除,则不添加,只添加不能被5整除的数字。我不知道该怎么做。

新代码怎么样?

                        Console.Write("Enter N1 : ");
                        int N1 = int.Parse(Console.ReadLine());
                        Console.Write("Enter N2: ");
                        int N2 = int.Parse(Console.ReadLine());
                        int counter = 1;
                        while ()
                        {
                            Console.Write("");
                            counter++;
                        }

4 个答案:

答案 0 :(得分:3)

  

如何添加N1和N2之间的所有数字,除了可以被5整除的数字?

如果想要在N1和N2之间添加每个数字,你为什么要使用Random?!你的问题真的很混乱。

Console.WriteLine("N1: ");
int N1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("N2: ");
int N2 = Convert.ToInt32(Console.ReadLine());

int sum = 0;
for (int X = N1; X <= N2; X++)
{
    if (X % 5 != 0)
    {
        sum += X;
    }
}
Console.WriteLine("Sum: {0}", sum.ToString());
Console.ReadLine();

答案 1 :(得分:0)

循环只运行五圈。它如何添加范围n1和n2中的所有数字?

使用此逻辑:

int  sum=0;
for(int i=N1;i<=N2;i++)
{
    if ( !(i%5 == 0))
        sum=sum+i;

}
console.writeline(sum);

答案 2 :(得分:0)

注意:使用tryParse来避免无效的输入异常,其余的东西都是

如果用户输入输入,因为n1很小而n2更大,反之亦然,两者都被处理:

        Random rnd = new Random();
        Console.WriteLine("N1: ");
        int N1 = 0;
        int total = 0;
        int.TryParse(Console.ReadLine(), out N1);
        Console.WriteLine("N2: ");
        int N2 = 0;
        int.TryParse(Console.ReadLine(), out N2);
        int x1 = 0, x2 = 0;
        if (N1 < N2)
        {
            x1 = N1;
            x2 = N2;
        }
        else
        {
            x1 = N2;
            x2 = N1;
        }
            for (int X = x1; X <= x2; X++)
            {
                int y = rnd.Next(N1, N2);
                if (y % 5 == 0)
                {
                    Console.WriteLine("");
                }
                else
                {
                    total = total + y;
                    Console.WriteLine("");
                }
            }
        Console.ReadLine();

答案 3 :(得分:0)

使用rnd.Next(N1, N2);

  

返回指定范围内的随机整数。

试试这个,你不需要else条件。只需检查它是否可被5整除,并将其添加到totalSum:

int totalSum = 0;
for (int x = N1; x <= N2; x++)
{
    int y = rnd.Next(N1, N2);
    if (y % 5 != 0)
    {
        totalSum += y;
    }
}