Я пытаюсь получить простой результат на консольном приложении в C#Получение выхода NaN в C#
Console.Write("Enter a number: ");
double x = Convert.ToDouble(Console.ReadLine());
x=(7*x/4+1/2) - (5*x/4+1/2)*Math.Acos(Math.PI*x);
Console.WriteLine(x);
Это приводит к NaN, и я не могу понять, почему. Я не очень хорошо разбираюсь в программировании, поэтому я уверен, что это нечто очевидное. Благодаря!
EDIT: Он должен был быть Math.Cos, а не Math.Acos. Теперь я столкнулся с чем-то другим, когда я ввожу слово x = 3, он возвращает результат 9; однако it should result in 10. Любая причина в том, почему?
Вы можете взять arccos числа от -1 до 1, я считаю. Поэтому вы должны убедиться, что '(Math.PI * x)' будет приводить к числу от -1 до 1. –
Если у вас есть второй вопрос *, просьба начать новый вопрос *. Один вопрос на вопрос! –
Кроме того, вы обнаружите, что ваша программа легче отлаживать, если вы не уничтожаете свои данные во время своей работы. Скажем, 'double result = (7 ... Console.WriteLine (result);' вместо того, чтобы уничтожить значение 'x'. Переменные дешевые, сделайте их много. –