не могу решить задачу на C
Извините за поздний приход, но нужна помощь. пытаюсь решить задачу и не получается. Кто хорошо знает язык C помогите пожалуйста. Как правильно вынести return, я подзабыл просто.
#include <stdio.h>
#include <math.h>
int main(void) {
float x, r, a;
printf("Enter x = ");
scanf("%f", &x);
for (int i=1; i<=x; i+=5)
{
a=(2-x*x)/(sqrt(4*x+5))-1;
r=log10(a);
printf("Результат вычислений = %4.2f \n", r);}
return 0;
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Код надо вставлять текстом.
Вы берете логарифм отрицательного числа. Он не существует. Результат - nan - "Not a Number".
Автор решения: Georgy Firsov
→ Ссылка
Никуда никакой return выносить не надо :)
Достаточно код отформатировать:
// Часть программы из вопроса
for (int i=1; i<=x; i+=5)
{
a=(2-x*x)/(sqrt(4*x+5))-1;
r=log10(a);
printf("Результат вычислений = %4.2f \n", r);
}
Программа всё правильно считает (не совсем соответствует условию, которое ранее было в вопросе, но это не беда).
Сейчас же достаточно подобрать правильные тестовые числа (1 не подходит). Вот так сама функция выглядит (область определения достаточно явственно видна):
