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/