Написать программу, вычисляющую выражения - C (СИ)
Формулировка задачи:
Написать программу, производящую вычисление выражения по формуле:
где x и n вводятся пользователем с клавиатуры в консоли, результат вычисления также программа должна вывести в консоль. Использовать цикл For.
Решение задачи: «Написать программу, вычисляющую выражения»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <locale.h>
double myexponent(int x, int n);
int main (void)
{
setlocale(LC_ALL,"Russian");
int x;
int n;
printf("Введите X: ");
scanf("%d",&x);
printf("Введите N: ");
scanf("%d",&n);
printf("Полученное значение: %.7f\n",myexponent(x,n));
printf("Библиотечное значение экспоненты: %.7f\n",exp(x));
printf("Разница между значениями: %.7f\n",exp(x)-myexponent(x,n));
getchar();
return 0;
}
double myexponent(int x, int n)
{
double chisl;
double fact;
int i;
double sum;
sum = 1;
chisl = 1;
fact = 1;
for (i=1;i<=n;i++)
{
chisl = chisl * x;
fact = fact * i;
sum = sum + chisl/fact;
}
return sum;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с математическими функциями и вводом/выводом данных
- Определяем функцию
myexponent, которая принимает два целых числа и вычисляет их экспоненту методом грубой силы - В функции
mainустанавливаем локальную настройку на русский язык - Запрашиваем у пользователя ввод двух целых чисел
xиnс помощью функцииscanf - Вызываем функцию
myexponentс введенными значениями и выводим результат на экран с помощью функцииprintf - Также вызываем библиотечную функцию
expдля вычисления экспоненты и выводим результат на экран - Вычисляем разницу между значениями и выводим ее на экран
- В функции
myexponentинициализируем переменныеchisl,fact,sumиi - В цикле
forначинаем вычисления. На каждой итерации умножаемchislнаx, умножаемfactнаi, добавляемchisl/factкsum - Возвращаем значение
sumиз функцииmyexponent - В функции
mainждем нажатия клавиши для завершения работы программы - Возвращаем 0 из функции
main, чтобы указать, что программа успешно завершилась