2017-04-16 68 views
0

我需要創建一個程序來添加用戶輸入以達到目標,結果如下所示。C#while循環(添加用戶輸入以達到目標)

enter image description here

我必須使用 'While循環' 對於這一點, 但我很難while循環使用......

這裏是我的代碼

Console.WriteLine("Enter Target Value: 6"); 

int total = 0; 
int target = 6; 
int i; 
for (i = 1; i <= 4; i++) 
{ 
    Console.Write("Enter #{0}:\t", i); 
    total += Convert.ToInt32(Console.ReadLine()); 
} 

while (total == target); 

Console.WriteLine("It took {0} inputs to take the sum to\t{1}",i, total); 
Console.ReadLine(); 

莫非你請幫我找到問題?

+1

夥伴我可以告訴你正確的代碼,但首先我會建議你閱讀關於循環/編程更多的建立邏輯 – Tushar

+0

你可以很容易地用'while'循環代替'for'循環。你應該進一步閱讀如何使用'while'循環。 –

+0

你有一個'for'循環,它接受用戶輸入,然後是一個'while'循環,它什麼都不做。顯然你只想要一個'while'循環,所以把'for'循環體移到while循環體中。 – GSerg

回答

-1

您的代碼完美運作。我希望這有助於:

Console.WriteLine("Enter Target Value: 6"); 

int total = 0; 
int target = 6; 
int i = 1; 

while (i <= 4) 
{ 
    Console.Write("Enter #{0}:\t", i); 
    total += Convert.ToInt32(Console.ReadLine()); 
    i++; 
} 

while (total == target); 
Console.WriteLine("It took {0} inputs to take the sum to\t{1}",i, total); 

Console.ReadLine(); 
0

下面是完整的示例。

static void Main(string[] args) 
    { 


     try 
      { 
      int i = 0; 
      int number; 
      int input=0; 
      Console.WriteLine("Enter target number "); 

      number = int.Parse(Console.ReadLine()); 
      while (input != number && input < number) 
      { 
       Console.WriteLine($"Enter number {i+1}"); 
       input += int.Parse(Console.ReadLine()); 
       i++; 


      } 
      Console.WriteLine($"It took {i} number to make the sum {number}"); 


      } 
      catch (Exception e) 
      { 



      } 


     Console.ReadLine(); 
    } 
0

你知道用戶輸入什麼號碼嗎?不,你不知道。所以你不知道需要多少數字來達到這個總和。

爲工作選擇合適的工具。

For循環

A 「for」 循環被用來重複特定的代碼塊中的已知次數。

While循環

A 「while」 循環用於重複特定的代碼塊中的未知次數,

鑑於上述2個選擇,選擇,應該是一個while因爲你不知道有多少次你需要讓用戶輸入一個數字來達到總和。它可能是1次或許多次。

在C#中,也有個do while循環,將被使用,如果你知道你必須事至少一次甚至更多,因此,對於你的情況下,最好的辦法是使用do while

您可以在while loop,for loopdo while上閱讀更多信息。