Написать программу вычисления выражения, используя функцию пользователя.
Z=f(a,b)+f(a2,b2), где f(a,b)=
Текст программы может выглядеть следующим образом:
1 способ – функция пользователя описана сразу, перед основной функцией:
#include <stdio.h>
#include <conio.h>
double fun(double x,double y)
{
if (x>0 && y>0)return x+y;
else if (x>0 && y<=0) return x+y*y;
else return x*x+y*y;
}
void main()
{
double a, b, z;
puts("Input a,b");
scanf("%lf%lf", &a, &b);
puts("\n\t Function =");
fun(a,b);
z=fun(a,b)+fun(a*a,b*b);
printf(" a = %5.2lf, b = %5.2lf,z= %5.2lf\n",a,b,z);
puts("\n Press any key... ");
getch();
}
2 способ – сначало указан прототип функции пользователя, а потом описана сама функция:
#include <stdio.h>
#include <conio.h>
double fun(double,double);
void main()
{
double a, b, z;
puts("Input a,b");
scanf("%lf%lf", &a, &b);
puts("\n\t Function =");
fun(a,b);
z=fun(a,b)+fun(a*a,b*b);
printf(" a = %5.2lf, b = %5.2lf,z= %5.2lf\n",a,b,z);
puts("\n Press any key... ");
getch();
}
double fun(double x,double y)
{
if (x>0 && y>0)return x+y;
else if (x>0 && y<=0) return x+y*y;
else return x*x+y*y;
}
Результат выполнения программы: