2017-10-21 75 views
-1

我有一個任務,從鍵盤輸入不同於0和隨機數k的隨機數。我需要找到奇數+ k的和(如果k也是奇數)。此外,只有在輸入0時鍵入數字時,數字的打字纔會中斷。這是我到目前爲止!所有奇數的總和C#

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

這是什麼問題?這裏沒有問題。 – Carcigenicate

+0

現在的問題是程序使用最小和最大值之間的數字,我不知道如何讓用戶輸入數字。 – Puhi123

+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(); 
    }