Обработка вещественных чисел в C по формуле - C (СИ)
Формулировка задачи:
Добрый день.
Возникла проблема с выполнением простейшей лабораторной по Си.
Где и что я упустил?
Задание:
Создать программу, производящую вычисления по формуле: , где a,b вводятся с клавиатуры при помощи функции scanf(). Используйте для переменных сначала тип данных int, потом double. Если в результате вычислений получились расхождения, объясните их. С интом разобрался, программа выдаёт ожидаемый результат. А вот с даблом творится нечто мне неведомое. Следующий код содержит, собственно, вторую часть задачи.#include "stdafx.h" #include "stdlib.h" #include "math.h" #include "locale.h" void main() { setlocale(LC_ALL, "Russian"); double ad,bd; //ввод значений printf("Введите ненулевое число a:\n"); scanf("%f", &ad); printf("Введите ненулевое число b:\n"); scanf("%f", &bd); //рассчёты double doubleans=pow(tan(2*ad/bd),2)-pow(1/tan(2*ad/bd),2); printf("\n%f\n%f\n%f\n", ad,bd,2*ad/bd); // попытка вычислить проблему //вывод ответа printf("\nОтвет (вещественный):\n"); printf("%.10f", doubleans); printf("\n"); system("pause"); }
Пример выполнения:
Введите ненулевое число a:
2
Введите ненулевое число b:
3
-92559604377396321000000000000000000000000000000000000000000000,000000
-92559604425286806000000000000000000000000000000000000000000000,000000
2,000000
Ответ (вещественный):
4,5649487942
Для продолжения нажмите любую клавишу . . .
Должно быть:
>> f f = tan((2*a)/b)^2 - cot((2*a)/b)^2 >> subs(f,[a b],[2 3]) ans = 17.012606210674633
Решение задачи: «Обработка вещественных чисел в C по формуле»
textual
Листинг программы
scanf("%lf", &ad); scanf("%lf", &bd);
Объяснение кода листинга программы
- Ввод данных с помощью функции scanf.
- Первый аргумент функции scanf - это формат ввода (в данном случае %lf), который указывает на то, что мы хотим ввести вещественное число.
- Второй аргумент функции scanf - это адрес переменной, в которую мы хотим сохранить введенное значение (в данном случае &ad).
- Функция scanf считывает введенное пользователем значение и сохраняет его в переменной ad.
- Аналогично происходит ввод значения для переменной bd.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д