Цикл C # for пропускает один шаг

#c# #for-loop

#c# #цикл for

Вопрос:

Я пытаюсь перебирать числа и вычислять объем сферы.

Пользователь вводит число, а затем перебирает объемы чисел, пока не достигнет номера пользователя.

Однако цикл пропускает вычисление первого числа.

Вот мой текущий код

  public static float Calculation(float i)
    {
        //Calculation
        float result = (float)(4 * Math.PI * Math.Pow(i, 3) / 3);
        //Return the result
        return resu<
    }
    static void Main(string[] args)
    {
        //Declare the result variable in the main method
        float result = 0;

        //Ask the user to input a number
        Console.WriteLine("Please input a number:");
        int radius = int.Parse(Console.ReadLine());

        //For loop, that runs until i is lesser than or equals to the radius that the user input
        for(int i = 0; i <= radius; i  )
        {
            Console.WriteLine($"The Sphere's volume with radius {i} is {result}n");

            //Setting the result by calling the Calculation method and setting the radius to the current i value in the loop
            result = Calculation(i);
        }
        Console.ReadLine();

    }
 

Вывод:

 The Sphere's volume with radius 0 is 0

The Sphere's volume with radius 1 is 0

The Sphere's volume with radius 2 is 4,1887903

The Sphere's volume with radius 3 is 33,510323

The Sphere's volume with radius 4 is 113,097336

The Sphere's volume with radius 5 is 268,08258

The Sphere's volume with radius 6 is 523,59875

The Sphere's volume with radius 7 is 904,7787

The Sphere's volume with radius 8 is 1436,755

The Sphere's volume with radius 9 is 2144,6606

The Sphere's volume with radius 10 is 3053,6282
 

Комментарии:

1. Вы хотите сначала получить результат перед печатью.

2. Кроме того, объявите result внутри цикла var result = Calculation(i);

Ответ №1:

Измените цикл for на этот:

     //For loop, that runs until i is lesser than or equals to the radius that the user input
    for(int i = 0; i <= radius; i  )
    {
        //Setting the result by calling the Calculation method and setting the radius to the current i value in the loop
        result = Calculation(i);

        Console.WriteLine($"The Sphere's volume with radius {i} is {result}n");
    }
 

Вы хотели бы сначала вычислить результат, а затем распечатать.

Спасибо,