#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");
}
Вы хотели бы сначала вычислить результат, а затем распечатать.
Спасибо,