using System;

namespace RainfallHW {
    class Program {
        static void Main(string[] args) {
            string [] months;
            double[] rain;

            months = new string [12] {  "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
            rain = new double[12];

            for (int i = 0; i < rain.Length; i++) {
                Console.Write("Rainfall in {0}: ", months[i]);
                rain[i] = double.Parse(Console.ReadLine());

                while (rain[i] < 0) {
                    Console.Write("Rainfall in {0}: ", months[i]);
                    rain[i] = double.Parse(Console.ReadLine());

                    double avg;
                    double sum = 0;
                    for (int x = 0; x < rain.Length; x++) {
                        sum = sum + rain[i];
                    }
                    avg = sum / 12;
                    Console.WriteLine("");
                    Console.WriteLine("Average Month Rain: ", avg);
                }
            }
        }
    }
}


我正在尝试获取每个月的降雨量并将其平均化。我无法将其打印出平均结果。我对数组和循环还比较陌生,只是不太确定我在哪里出错。

我目前没有任何输出。输入每个月的输入后,程序将立即关闭。

最佳答案

您显然弄乱了花括号。将avg-calculation块移到正确的位置后,它开始工作:

string [] months;
double[] rain;

months = new string [12] {  "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
rain = new double[12];

for (int i = 0; i < rain.Length; i++) {
    Console.Write("Rainfall in {0}: ", months[i]);
    rain[i] = double.Parse(Console.ReadLine());

    while (rain[i] < 0) {
        Console.Write("Rainfall in {0}: ", months[i]);
        rain[i] = double.Parse(Console.ReadLine());
    }
}
double avg;
double sum = 0;
for (int i = 0; i < rain.Length; i++) {
    sum = sum + rain[i];
}
avg = sum / 12;
Console.WriteLine("");
Console.WriteLine("Average Month Rain: " + avg);

关于c# - 无法打印出平均数组的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32914027/

10-10 23:22
查看更多