В окне консоли вместо нужных значений выводятся нули или единицы - C (СИ)
Формулировка задачи:
При написании программы столкнулся с проблемой такого плана. Делал лабораторную работу 21 задание, написал код, он компилировался без ошибок, вроде все норм, но в окне консоли вместо нужных значений выводятся нули или единицы. Возможно он как-то округляет, если да то напишите как отключить это.
ps: скрин консоли и пдф лабы прилагаеться. спасибо
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
float e,x,sum,sl;
long int n;
printf("Введите точность: ");
scanf("%lf",&e);
do
{
printf("Введите x (-1<x<1): ");
scanf("%lf",&x);
if (x<-1||x>1 ) printf("Значение x не удовлетвряет условию");
}
while (x<-1||x>1);
n=0;
sum=0;
sl=0;
while (fabs(sl)>e)
{
sum=sum+sl;
sl=(n-1)*(2*n-1)/2*n*x*x;
n++;
printf("%lf %lf\n",n,sl);
}
printf("Сумма ряда:%lf\n",sum);
printf("Сумма по формуле:%f\n",exp(x));
printf("Количество интераций:%ld",n);
return 0;
}Решение задачи: «В окне консоли вместо нужных значений выводятся нули или единицы»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
float e,x,sum,sl;
long int n;
printf("Введите точность: ");
scanf("%lf",&e);
do
{
printf("Введите x (-1<x<1): ");
scanf("%lf",&x);
if (x<-1||x>1 ) printf("Значение x не удовлетвряет условию");
}
while (x<-1||x>1);
n=0;
sum=0;
sl=0;
while (fabs(sl)>e)
{
sum=sum+sl;
sl=(n-1)*(2*n-1)/2*n*x*x;
n++;
printf("%lf %lf\n",n,sl);
}
printf("Сумма ряда:%lf\n",sum);
printf("Сумма по формуле:%f\n",exp(x));
printf("Количество интераций:%ld",n); /* Вместо этого пишешь printf("la-la-la:%X.Yld",n), где X это ширина числа, а Y это его точность - количество знаков после запятой. Поэкспериментируй немного, ставь вместо X Y какие-нибудь числа. и смотри, что меняется. Я просто не совсем понял, что ты хочешь получить в ответе. */
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с консолью, числами с плавающей точкой, математикой и окнами.
- Установка кодировки консоли на 1251.
- Объявление переменных: e, x, sum, sl, n.
- Ввод точности и значения x.
- Проверка значения x на соответствие условию.
- При несоответствии значению x выводится сообщение об ошибке.
- При соответствии значению x начинается расчет суммы ряда.
- Выполняется цикл, пока значение суммы ряда не станет меньше заданной точности.
- Внутри цикла выполняется расчет суммы ряда, значение переменной sl присваивается сумме ряда, увеличивается значение переменной n, выводится значение переменных n и sl.
- После достижения заданной точности выводится сообщение о количестве итераций.
- Выполняется расчет значения по формуле exp(x) и выводится на экран.
- Выводится сообщение о сумме ряда.
- Выводится сообщение о количестве итераций.
- Возвращается 0, завершая работу программы.