Программирование циклических алгоритмов - C (СИ) (148855)
Формулировка задачи:
Здраствуйте. Помогите пожалуйста решить, осталось последнее задание , через 3 дня сдавать. Люди добрые, помогите.
Разработать программу согласно варианту задания. При реализации программы использовать операторы циклов (
for,while,do...while
)Решение задачи: «Программирование циклических алгоритмов»
textual
Листинг программы
#include "locale.h" // для корректного вывода в консоль русского языка
#include <stdio.h> // для вывода в консоль
#include <conio.h> // для доступа к команде _getch()
#include <math.h>
int main()
{
int N;
int i;
double Rez, a, // переменные для конечного и промежуточного результата
x, e; // переменная для считывания X
const double Pi = 3.14*3.14; // квадрат пи
char *loc; // переменная для корректного вывода в консоль русского языка
loc = setlocale(LC_ALL,"Russian");
Rez = 1;
N = 1;
e = 0.0001;
printf("Введите X и нажмите <Enter>\n");
scanf("%lf", &x);
a = x*(1+(x*x/((N*N)*Pi));
while (fabs(1+a) >= e);
{
Rez *= a;
N ++;
a = x*(1+(x*x/((N*N)*Pi));
}
printf("Результат %0.*lf\n",4, Rez);
printf("Нажмите <Enter>\n");
_getch();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью, математикой и локалью
- Установка русской локали для корректного вывода в консоль
- Объявление переменных: N, i, Rez, a, x, e, Pi и loc
- Ввод значения переменной x с помощью функции scanf
- Инициализация переменной a значением x(1+(xx/((NN)Pi)))
- Запуск цикла while для вычисления результата
- Внутри цикла умножение переменной Rez на значение a и увеличение N на 1
- Обновление значения переменной a внутри цикла
- Цикл выполняется до тех пор, пока абсолютное значение 1+a не станет меньше заданной точности e
- Вывод результата вычислений с помощью функции printf
- Вызов функции _getch для приостановки выполнения программы до нажатия клавиши
- Возврат 0, означающий успешный конец работы программы