Обработка вещественных чисел в C по формуле - C (СИ)

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

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

Добрый день. Возникла проблема с выполнением простейшей лабораторной по Си.

Задание:

Создать программу, производящую вычисления по формуле: , где a,b вводятся с клавиатуры при помощи функции scanf(). Используйте для переменных сначала тип данных int, потом double. Если в результате вычислений получились расхождения, объясните их. С интом разобрался, программа выдаёт ожидаемый результат. А вот с даблом творится нечто мне неведомое. Следующий код содержит, собственно, вторую часть задачи.
Листинг программы
  1. #include "stdafx.h"
  2. #include "stdlib.h"
  3. #include "math.h"
  4. #include "locale.h"
  5. void main()
  6. {
  7. setlocale(LC_ALL, "Russian");
  8. double ad,bd;
  9. //ввод значений
  10. printf("Введите ненулевое число a:\n");
  11. scanf("%f", &ad);
  12. printf("Введите ненулевое число b:\n");
  13. scanf("%f", &bd);
  14. //рассчёты
  15. double doubleans=pow(tan(2*ad/bd),2)-pow(1/tan(2*ad/bd),2);
  16. printf("\n%f\n%f\n%f\n", ad,bd,2*ad/bd); // попытка вычислить проблему
  17. //вывод ответа
  18. printf("\nОтвет (вещественный):\n");
  19. printf("%.10f", doubleans);
  20. printf("\n");
  21. system("pause");
  22. }

Пример выполнения:

Введите ненулевое число a: 2 Введите ненулевое число b: 3 -92559604377396321000000000000000000000000000000000000000000000,000000 -92559604425286806000000000000000000000000000000000000000000000,000000 2,000000 Ответ (вещественный): 4,5649487942 Для продолжения нажмите любую клавишу . . .

Должно быть:

Листинг программы
  1. >> f
  2. f =
  3. tan((2*a)/b)^2 - cot((2*a)/b)^2
  4. >> subs(f,[a b],[2 3])
  5. ans =
  6. 17.012606210674633
Где и что я упустил?

Решение задачи: «Обработка вещественных чисел в C по формуле»

textual
Листинг программы
  1. scanf("%lf", &ad);
  2. scanf("%lf", &bd);

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

  1. Ввод данных с помощью функции scanf.
  2. Первый аргумент функции scanf - это формат ввода (в данном случае %lf), который указывает на то, что мы хотим ввести вещественное число.
  3. Второй аргумент функции scanf - это адрес переменной, в которую мы хотим сохранить введенное значение (в данном случае &ad).
  4. Функция scanf считывает введенное пользователем значение и сохраняет его в переменной ad.
  5. Аналогично происходит ввод значения для переменной bd.

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы