Арифметические вычисления - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток!У меня возникла проблема с выводом результата арифметических вычислений.Не выводит точного результата. Код:
#include <stdio.h>
#include <math.h>
 
main()
{
    
    float t,z,p,k,m;
    double s,x,y,a;
    t = 4.7;
    z = 0.8;
    p = 6.2;
    k = -4;
    m = 6;
    s = 0;
    a = 0;
    y = 0;
    x = 0;
    
    x = pow(cos(t+p),2) - pow(exp(1),2*t);
    y = pow(log(p) + 10*t,1/3);
    a = abs(k + pow(m,2));
    s = (x/(a+y)) + pow(log(z),2);
    
    printf("%f",s);
}
Результат: ---------------------------------------------------------------------------------- 1.#INF00 Бывают также и другие не понятные результаты. ---------------------------------------------------------------------------------- P.S.Я по несколько раз менял типы данных и форматы их вывода,а нужный мне результат все так и не выводится. Я начинающий программист,надеюсь на ваше понимание и помощь.

Решение задачи: «Арифметические вычисления»

textual
Листинг программы
float t,z,p,k,m; //тип тоже должен быть один float/double
    double s,x,y,a;
    t = 4.7;
    z = 0.8;
    p = 6.2;
    k = -4;
    m = 6;
    s = 0.;
    a = 0.;
    y = 0.;
    x = 0.;  //бывает, компилятору надо явно указать, что это float
    
    x = pow(cos(t+p),2.) - pow(exp(1.),2.*t);
    y = pow(log(p) + 10.*t,1./3.);
    a = abs(k + pow(m,2.));
    s = (x/(a+y)) + pow(log(z),2.); //во всех строках, возможно, необходимо будет привести переменные к одному типу
    
    printf("%f",s);

Объяснение кода листинга программы

  1. Объявляются пять переменных типа float и четыре переменные типа double.
  2. Задаются значения переменным t, z, p, k и m.
  3. Задаются значения переменным s, x, y и a.
  4. В строке с индексом 9 значение переменной x вычисляется как результат возведения в квадрат косинуса (cos(t+p)) и экспоненты (exp(1.)), а затем из этого значения вычитается квадрат экспоненты (exp(1.)).
  5. В строке с индексом 10 значение переменной y вычисляется как результат возведения в куб (1/3.) логарифма (log(p)) и 10*t.
  6. В строке с индексом 11 значение переменной a вычисляется как абсолютное значение суммы (k + pow(m,2.)).
  7. В строке с индексом 12 значение переменной s вычисляется как результат деления (x/(a+y)) и прибавления квадрата логарифма (log(z)).
  8. В строке с индексом 13 значение переменной s выводится на экран с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.4 из 5
Похожие ответы