C#循环从100变为1而不是1到100

时间:2014-03-30 02:56:50

标签: c# visual-studio-2010 visual-studio loops for-loop

我正在用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.");

我知道这可能听起来像一个简单回答的愚蠢问题,但我只是迷路了,如果有人可以提供帮助请用正确的循环格式回答。感谢。

2 个答案:

答案 0 :(得分:1)

更改for循环,从1开始,就像第一次循环一样:

for (int a = 1; a <= 100; a++)

答案 1 :(得分:0)

你应该改变你的循环:

for (int i = 1; i <= 100; i++)