Первый вариант – обычный способ
#include // Включаем заголовочные файлы, // содержащие прототипы функций ввода/вывода #include // и математических функций (для fabs) void main() { double a, b, e, x, c, fa, fc; // Объявления переменных int n; printf("Введите границы отрезка и точность: "); // Приглашение для пользователя scanf("%lf%lf%lf", &a, &b, &e); // Ввод исходных данных for (n = 0; fabs(a - b) > e; n++) // В заголовок цикла for включаем инициализацию переменной n, // её увеличение на 1, т.к. оно безусловно выполняется // на каждом шаге цикла, и проверку условия цикла { c = (a + b) / 2; // Т.к. в теле цикла должно быть более одного оператора, fa = f(a); // а по синтаксису возможен только один, fc = f(c); // операторы, составляющие тело цикла, if (fa * fc < 0) // объединяются в один с помощью операторных скобок {...} b = c; else a = c; } x = (a + b) / 2; printf("Корень уравнения = %lf\nЧисло итераций = %d\n", x, n); }
Достарыңызбен бөлісу: |