Неправильный результат вычисления функции - C (СИ)
Формулировка задачи:
Ребят помогите разобраться что я делаю не так.
Нужно закодить обычную функцию
я делаю так
почему она считается неправильно?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float x0=1.; ; x_k=3;
float n=10; h=(x_k-x0)/n;
float x_t=x0;
for(i=0;i<n;i++)
{
x_t = x_t+h;
tst = -1/4+2/9*x_t+1/36*x_t*x_t*x_t*x_t-x_t/3*(log(x_t));
printf(" y(test) = %f",tst);
}
}Решение задачи: «Неправильный результат вычисления функции»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float x0,x_k,h,x_t,tst;
int n,i;
x0=1.; x_k=3;
n=10; h=(x_k-x0)/n;
x_t=x0;
for(i=0;i<n;i++)
{
x_t = x_t+h;
tst = -1/4+2/9*x_t+1/36*x_t*x_t*x_t*x_t-x_t/3*(log(x_t));
printf("y(test) = %f\n",tst);
}
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с плавающей точкой и целочисленными значениями.
- Объявление переменных: x0, x_k, h, x_t, tst;
- Инициализация переменных: x0=1., x_k=3., n=10;
- Вычисление шага h=(x_k-x0)/n;
- Начальное значение переменной x_t=x0;
- Цикл for для вычисления функции на заданном отрезке от x0 до x_k с шагом h;
- Вычисление значения переменной x_t=x_t+h;
- Вычисление значения переменной tst на основе математической формулы -1/4+2/9x_t+1/36x_tx_tx_tx_t-x_t/3(log(x_t));
- Вывод значения переменной tst на экран с помощью функции printf.