2014-08-30 39 views
-3

我構建了一個C#程序,在該程序中提示用戶輸入10個不同的值,然後程序將這些值相加並求平均值並打印總和和平均值。我遇到的問題是我的程序只捕獲輸入的最後一個值...請幫助!我的C#數組僅對最後一個用戶輸入進行求和並求平均值

namespace ConsoleApplication4 
{ 
    class Program 
    { 
     const int count = 10; 

     static void Input(double[] numbers, int num) 
     { 
      for (int i = 0; i <= 9; i++) 
      { 
       Console.Write("Enter integer {0}: ", i + 1); 
       numbers[num] = Convert.ToDouble(Console.ReadLine()); 
      } 
     } 

     static void Average(double[] numbers, int num) 
     { 
      double sum = 0; 
      double avg = 0; 
      for (int i = 0; i < numbers.Length; i++) 
      { 
       sum += numbers[i]; 
      } 
      avg = sum/numbers.Length; 

      Console.WriteLine("The sum of the inputs is {0} and the average is {1}", sum, avg); 
     } 

     static void Main(string[] args) 
     { 
      double[] numbers = new double[count]; 
      for (int num = 0; num < 1; num++) 
      { 
       Input(numbers, num); 
       Average(numbers, num); 
       Console.WriteLine("Press the Enter Key"); 
       Console.ReadLine(); 
      } 
     } 
    } 
} 

}

+1

喬,這是一個很好的時間來學習如何調試代碼... – 2014-08-30 15:32:26

回答

1
for (int i = 0; i <= 9; i++) 
{ 
    Console.Write("Enter integer {0}: ", i + 1); 
    numbers[num] = Convert.ToDouble(Console.ReadLine()); 

這應該是

numbers[i] = Convert.ToDouble(Console.ReadLine()); 
+0

謝謝你們!我在這方面是一個小菜鳥,爲了達到這一點,我花了一段時間。再次感謝! – Joe 2014-08-30 18:19:45

3

在你輸入方法,你分配用戶輸入數字[NUM]代替號碼[i]中。

2

如果你看看你的Input()方法,你總是在for循環中存儲num索引,但num在循環中不會改變。您應該使用numbers[i]而不是numbers[num]

相關問題