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; }
Объяснение кода листинга программы
- В функции
f
нужно правильно указать тип возвращаемого значения какfloat
. - В функции
main
объявлены следующие переменные:x1
,x0
,dx
,a
,b
,c
,x
. - Далее пользователю предлагается ввести значения этих переменных с помощью функции
scanf
. - Затем в цикле
for
перебираются все значенияx
отx0
доx1
с шагомdx
. - Для каждого значения
x
вызывается функцияf
с передачей в нее переменныхa
,b
,c
иx
. - Результат работы функции
f
сохраняется в переменнойj
. - Затем на экран выводятся значения
x
иj
с помощью функцииprintf
. - В конце программы возвращается значение 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д