我正在用C#创建一个程序,它在-10到50°C的高温下具有100天的随机天气值,我几乎可以工作但我有一个问题,霜冻天的输出是在升序但日期和热量按降序排列,我怎么能解决这个问题呢?你可能认为这是一个愚蠢的问题,但我试图改变第二个循环括号内的参数(天和它们的热量),但我似乎无法找到它的升序。如果有人可以帮忙请回答,这是我的代码:
Random x = new Random();
int day = 0;
int frostDaysCounter = 0;
double sum = 0;
int[] days = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100};
int[] array = Enumerable.Range(1, 101).ToArray();
for (int i = 1; i <= 100; i++)
{
int dayP = day + 1;
array[i] = x.Next(-10, 51);
if (array[i] < 0) {
Console.WriteLine("Day number: " + dagurP + " Temperature: " + array[i]);
frostDays++;
}
day++;
}
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//THIS LOOP IS THE MAIN PROBLEM
for (int a = 100; a >= 1; a--)
{
Console.WriteLine("Temperature day " + day + ". is: " + array[a]);
sum += array[a];
day--;
}
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
double average = sum / 100;
Console.WriteLine("Sum: " + sum);
Console.WriteLine("Average temperature: " + average.ToString("F2") + " °C");
Console.WriteLine("Frost was in total: " + frostDagar + " days.");
我知道这可能听起来像一个简单回答的愚蠢问题,但我只是迷路了,如果有人可以提供帮助请用正确的循环格式回答。感谢。
答案 0 :(得分:1)
更改for
循环,从1
开始,就像第一次循环一样:
for (int a = 1; a <= 100; a++)
答案 1 :(得分:0)
你应该改变你的循环:
for (int i = 1; i <= 100; i++)