Ошибка при вводе вещественного числа - C (СИ)
Формулировка задачи:
При выполнении scanf("%f", &e) программа не реагирует на нажатие любой клавиши.
#include <stdio.h>
#include <math.h>
#include <locale.h>
int main() {
float Fx, ch, zn, x,e;
int i,j;
setlocale(LC_ALL, "rus");
printf("Эта программа предназначена для вычисления y(x) =ln(1+x)=x-x2/2+x3/3-...+(-1)nxn/n (0<x<1) с точностью e\n");
printf("Введите x(1>x>0): ");
scanf("%f\n", &x);
printf("Задайте точность вычисления(e>0): ");
scanf("%f", &e);
ch = 0;
zn = 0;
i = -1;
j = 1;
Fx = 0;
do
{
ch = ch * x;
zn++;
Fx = Fx + j*ch / zn;
j = j*i;
} while (fabsf(ch/zn)>e);
printf("\ny(x)= %f",Fx);
_getch();
}Решение задачи: «Ошибка при вводе вещественного числа»
textual
Листинг программы
scanf("%f", &x);
Объяснение кода листинга программы
- Ввод значения переменной x с помощью функции scanf().
- Значение переменной x сохраняется в памяти компьютера.
- Далее происходит проверка значения переменной x на соответствие формату вещественного числа.
- Если значение переменной x не соответствует формату вещественного числа, то программа выдает сообщение об ошибке.