2017-10-21 6 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

今問題は、プログラムがminとmaxの間の数値を使用しているため、ユーザーに数値を入力させる方法がわからないことです。 – 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(); 
    } 
関連する問題