C#中的数字和立方数的和

时间:2014-07-22 08:46:01

标签: c# sum

嘿,我对C#有些新意,今天已经过了一周。我设法得到这么远,但我似乎只是把我已经立方的偶数的总和我得到整个输出和最后的数字是总和,除了我只是想要最后显示。任何帮助将非常感谢并为可怕的代码道歉。感谢

using System;

public class Test
{
   public static void Main()
   {

       int j = 0; //Declaring + Assigning the interger j with 0
       int Evennums = 0; // Declaring + Assigning the interger Evennums with 0
       int Oddnums = 0; //Declaring + Assigning the interger Oddnums with 0
       System.Console.WriteLine("Calculate the sum of all even numbers between 0 and the           user’s number then cube it!"); //Telling console to write what is in ""
       Console.WriteLine("Please enter a number");
       uint i = uint.Parse(Console.ReadLine());
       Console.WriteLine("You entered: " + i);
       Console.WriteLine("Your number cubed: " + i*i*i);

      if (i % 2 == 0)
         while (j <= i * i * i) 
          {
            if(j % 2 == 0)
            {
                Evennums += j; //or sum = sum + j;
                Console.WriteLine("Even numbers summed together " + Evennums);
            }
            //increment j
            j++;


          }
    else if(i%2 != 0)
        //reset j to 0 like this: j=0;
        j=0;
        while (j<= i * i * i)
        {
            if (j%2 == 0)
            {
                Oddnums += j;
                //Console.WriteLine(Oddnums);
            }
            //increment j
            j++;

     }
  }
}

2 个答案:

答案 0 :(得分:0)

如果要显示最后一笔,而不是每个求和过程,请更改print语句的位置

if (i % 2 == 0)
 {
     while (j <= i * i * i) 
      {
        if(j % 2 == 0)
        {
            Evennums += j; //or sum = sum + j;

        }
        //increment j
        j++;


      }
      Console.WriteLine("Even numbers summed together " + Evennums);
}

同样适用于else if if。

答案 1 :(得分:0)

您可以尝试使用LINQ:

实现您想要的效果,如下所示
// Calculate the cube of i.
int cube = i*i*i;

int sum = 0;
string message;

// Check if cube is even.
if(cube%2==0)
{
    sum = Enumerable.Range(0,cube).Where(x => x%2==0).Sum();
    message = "The sum of the even numbers in range [0,"+cube+"] is: ";
}
else // The cube is odd.
{
    sum = Enumerable.Range(0,cube).Where(x => x%2==1).Sum();
    message = "The sum of the odd numbers in range [0,"+cube+"] is: ";
}

// Print the sum.
Console.WriteLine(message+sum);