Return в функции - найти ошибку - C (СИ)

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

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

Помогите пожалуйста найти ошибку, связанную с return в функции
#include <stdio.h>
int f(Float a, float b, float c, float x)
{
    if(x < 0 && b != 0)
        f = a * x*x + b;
    else if(x > 0 && b == 0)
        f = (x - a) / x;
    else if( c != 0)
        f = x /c;
    else {
        printf("Na nol delit nelzya ('c')\n");
        continue;
    }
}
int main ()
{ 
    float x1, x0, dx, a, b, c, x;
    printf("Vvpd x1, x0, dx, a, b, c, x\n);
    scanf("%f%f%f%f%f%f", &x1, &x0, &dx, &a, &b, &c);
    for(x = x0; x <= x1; x += dx)
    {
    float j=f(a, b, c, x);
    printf("x=%f; f=%f\n", x, j);
    }
return 0;
}

Решение задачи: «Return в функции - найти ошибку»

textual
Листинг программы
#include <stdio.h>
float f(float a, float b, float c, float x) //возвращать,мне кажеться,ф-ция должна float
{
    float t;                // присваивать значения в функции надо не ф-ции а переменной созданой
    if(x < 0 && b != 0)
        t = a * x*x + b;
    else if(x > 0 && b == 0)
        t = (x - a) / x;
    else if( c != 0)
        t = x /c;
    else {
        printf("Na nol delit nelzya ('c')\n");
       // continue;   // continue только для цыклво работает
    }
 
    return t;           // функция возваращает переменную t
}
int main ()
{ 
    float x1, x0, dx, a, b, c, x;
    printf("Vvpd x1, x0, dx, a, b, c, x\n");
    scanf("%f%f%f%f%f%f", &x1, &x0, &dx, &a, &b, &c);
    for(x = x0; x <= x1; x += dx)
    {
    float j=f(a, b, c, x);
    printf("x=%f; f=%f\n", x, j);
    }
return 0;
}

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

  1. В функции f нужно правильно указать тип возвращаемого значения как float.
  2. В функции main объявлены следующие переменные: x1, x0, dx, a, b, c, x.
  3. Далее пользователю предлагается ввести значения этих переменных с помощью функции scanf.
  4. Затем в цикле for перебираются все значения x от x0 до x1 с шагом dx.
  5. Для каждого значения x вызывается функция f с передачей в нее переменных a, b, c и x.
  6. Результат работы функции f сохраняется в переменной j.
  7. Затем на экран выводятся значения x и j с помощью функции printf.
  8. В конце программы возвращается значение 0, что означает успешный конец работы программы.

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


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

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

8   голосов , оценка 4 из 5