所有奇数的总和C#

时间:2017-10-21 13:56:50

标签: c#

我有一个从键盘输入不同于0和随机数k的随机数的赋值。我需要找到奇数+ k的总和(如果k也是奇数)。此外,当仅在键入0时键入数字时,数字的键入将被中断。这就是我到目前为止所拥有的!

  using System;
    using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main()
    {
        int k;
        int min;
        int max;
        int odd = 0;

        Console.WriteLine("Enter the value of k: ");
        k = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter minimum integer: ");
        min = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter maximum integer: ");
        max = int.Parse(Console.ReadLine());

        Console.Write("Odd: ");
        for (int x = min; x <= max; x++)
        {
            if (x % 2 != 0)
            {
                Console.Write(x);
                Console.Write(" + ");
                odd += x;
            }
        }

        Console.WriteLine();
        Console.Write("Odd Numbers + K: ");
        Console.WriteLine();
        {
            if (k % 2 !=0)
            {
                Console.Write(k);
                Console.Write(" + ");
                odd += k;
            }
        }

        Console.Write("= ");
        Console.Write(odd + "\n");
    }
}

1 个答案:

答案 0 :(得分:-2)

此代码可满足您的需求。它检查界限最小值和最大值。当输入零时它结束,它也保持奇数的总和。

用这个替换你的静态void Main()函数。

    static void Main()
    {
        //int k;
        int min;
        int max;
        int odd = 0;


        Console.WriteLine("Enter minimum integer: ");
        min = int.Parse(Console.ReadLine());
        Console.WriteLine("Enter maximum integer: ");
        max = int.Parse(Console.ReadLine());

        Console.WriteLine("Enter your number: ");
        bool userIsTyping = true;
        while (userIsTyping)
        {
            Console.WriteLine("Enter another number: ");            
            int userNumber = int.Parse(Console.ReadLine());

            if (userNumber == 0)
            {
                userIsTyping = false;
            }
            else if (userNumber > max)
            {
                Console.WriteLine("The number is out of bounds: greater than max.");
            }
            else if (userNumber < min)
            {
                Console.WriteLine("The number is out of bounds: less than min.");
            }
            else
            {

                if (userNumber % 2 != 0)
                {
                    odd += userNumber;
                    Console.WriteLine("Current Total: " + odd.ToString());
                }
                else
                {
                    Console.WriteLine("That is not an odd number.");
                }
            }

        }
        Console.WriteLine("The final result is: " + odd.ToString());
        Console.ReadLine();
    }