Scanf() не читает введенные номера - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здраствуйте. Есть програма:
#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;
}
Гдето ошибка или C++ Builder глючит я не знаю. Проблема в том что после компиляции пользователь должен внесть 2 номера, но програма какбудто их не видит, выводит n=0, x=0.000000. Почему?

Решение задачи: «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;
}

Объяснение кода листинга программы

  1. Объединение стандартных библиотек iostream и cstdio.
  2. Объявление массивов a, b, c размером 100.
  3. Объявление переменной i типа int, используемой в цикле.
  4. Объявление переменной n типа int, используемой для хранения количества слагаемых в полиноме.
  5. Вывод сообщения с просьбой ввести значение n.
  6. Считывание значения n с помощью функции scanf.
  7. Вывод сообщения с просьбой ввести значение x.
  8. Считывание значения x с помощью функции scanf.
  9. Вывод сообщения с значениями n и x.
  10. Вывод сообщения с просьбой ввести коэффициенты полинома.
  11. Цикл, который считывает коэффициенты полинома с помощью функции scanf.
  12. Передача значения первого коэффициента в массив b.
  13. Цикл, который вычисляет значения остальных коэффициентов b[i] как сумму соответствующих коэффициентов a[i] и произведения x на следующий коэффициент b[i+1].
  14. Вывод значения n и x с помощью функции printf.
  15. Вывод значения b[0] с помощью функции printf.
  16. Вызов функции getchar для чтения символа из стандартного ввода.
  17. Возврат 0 функцией main, что означает успешный конец работы программы.
  18. Программа использует стандартный ввод и вывод, поэтому включение библиотек cstdio и iostream является необходимым.
  19. Массивы a, b и c используются для хранения коэффициентов полинома и промежуточных вычислений.
  20. Циклы используются для считывания коэффициентов и вычисления значений полинома.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы