Scanf() не читает введенные номера - C (СИ)
Формулировка задачи:
Здраствуйте. Есть програма:
Гдето ошибка или C++ Builder глючит я не знаю. Проблема в том что после компиляции пользователь должен внесть 2 номера, но програма какбудто их не видит, выводит n=0, x=0.000000. Почему?
#include <stdio.h>
#include <conio.h>
int main ()
{
double a[100], b[100], c[100], x;
int i, n;
printf("Calcularea valorii polinomului intr-un punct dat.\nDati n:");
scanf("%d", &n);
printf("x=");
scanf("%f", &x);
printf("n=%d, x=%f", n, x);
printf("Dati coeficientii polinomului:\n");
for(i=n;i>=0;i--) {
printf("a[%d]=", i); scanf("%f", &a[i]);
}
b[n]=a[n];
for(i=n-1;i>=0;i--) {
b[i] = a[i] + x*b[i+1];
}
printf("P%d(%f)=%f", n, x, b[0]);
getch ();
return 0;
}Решение задачи: «Scanf() не читает введенные номера»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
int main ()
{double a[100], b[100], c[100], x;
int i, n;
printf("Calcularea valorii polinomului intr-un punct dat.\nDati n:");
cin >> n;
printf("x=");
cin >> x;
printf("n=%d, x=%3.2f\n", n, x);
printf("Dati coeficientii polinomului:\n");
for(i=n;i>=0;i--) {
printf("a[%d]=", i); scanf("%f", &a[i]);
}
b[n]=a[n];
for(i=n-1;i>=0;i--) {
b[i] = a[i] + x*b[i+1];
}
printf("P%d(%f)=%f", n, x, b[0]);
getchar ();
return 0;
}
Объяснение кода листинга программы
- Объединение стандартных библиотек iostream и cstdio.
- Объявление массивов a, b, c размером 100.
- Объявление переменной i типа int, используемой в цикле.
- Объявление переменной n типа int, используемой для хранения количества слагаемых в полиноме.
- Вывод сообщения с просьбой ввести значение n.
- Считывание значения n с помощью функции scanf.
- Вывод сообщения с просьбой ввести значение x.
- Считывание значения x с помощью функции scanf.
- Вывод сообщения с значениями n и x.
- Вывод сообщения с просьбой ввести коэффициенты полинома.
- Цикл, который считывает коэффициенты полинома с помощью функции scanf.
- Передача значения первого коэффициента в массив b.
- Цикл, который вычисляет значения остальных коэффициентов b[i] как сумму соответствующих коэффициентов a[i] и произведения x на следующий коэффициент b[i+1].
- Вывод значения n и x с помощью функции printf.
- Вывод значения b[0] с помощью функции printf.
- Вызов функции getchar для чтения символа из стандартного ввода.
- Возврат 0 функцией main, что означает успешный конец работы программы.
- Программа использует стандартный ввод и вывод, поэтому включение библиотек cstdio и iostream является необходимым.
- Массивы a, b и c используются для хранения коэффициентов полинома и промежуточных вычислений.
- Циклы используются для считывания коэффициентов и вычисления значений полинома.