Численный метод - printf выводит неправильный результат - C (СИ)
Формулировка задачи:
У меня есть вопросы к знающим людям, но только по
Турбо Си
, проблема в том, что printf("\n%f", a); выводит неправильный результат. После ввода значения S. находится а, сама ошибка в функции F(x) или pow(x,y) не работает с float и значениями со знаком.??Помогите !!!!! )
#include<stdio.h>
#include<math.h>
float f(float x)
{
float aa;
aa=pow(x,3) - 2,52 * pow(x,2) - 27,342 * x + 25,952;
return aa;
}
void main()
{
float s, a;
scanf("%f", &s);
a=f(s);
printf("\n%f", a);
getch();
return 0;
}Решение задачи: «Численный метод - printf выводит неправильный результат»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <conio.h>
double f(double x)
{
double aa;
aa=pow(x,3) - 2,52 * pow(x,2) - 27,342 * x + 25,952;
return aa;
}
int main()
{
double s, a;
scanf("%f", &s);
a=f(s);
printf("%f", a);
getch();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
для работы с функцией вывода, для работы с математическими функциями, для работы с функцией задержки. - Определение функции f(double x), которая принимает аргумент типа double и возвращает значение типа double.
- Внутри функции объявлена переменная типа double с именем aa.
- Значение переменной aa вычисляется как результат возведения в степень x кубического уравнения 3,252 pow(x,2) - 27,342 x + 25,952.
- Функция возвращает значение переменной aa.
- В функции main() объявлены две переменные типа double с именами s и a.
- С помощью функции scanf() в переменную s считывается значение с клавиатуры.
- Значение переменной a вычисляется как результат вызова функции f(s).
- С помощью функции printf() выводится значение переменной a.
- Вызов функции getch() для приостановки выполнения программы до нажатия клавиши.
- Возвращение значения 0, означающее успешный конец работы программы.