..................の間がプログラム本体です .................. program 13 .................. /* program 11 より複雑な関数の例 xの値によって違う関数を返す場合 主プログラムは自分で作ってください */ double func(double x) { /* xが負なら-sqrt(-x) (sqrtは平方根を計算する関数) */ if(x < 0){ return -sqrt(-x); } /* xが0または正ならsqrt(x) */ else { return sqrt(x); } } .................. program 14 .................. #include #include /* さらに複雑な関数の例 多変数関数の場合 */ double func(double,double); main() { double x,a; int i; scanf("%lf",&a); for(i=-5; i<=5; ++i){ x = i*0.1; printf("%f %f\n",x,func(x,a)); } } double func(double x, double a) { /* xが負なら-(-x)**a */ if(x < 0){ return -pow(-x,a); } /* xが0または正ならx**a */ else{ return pow(x,a); } } .................. program 15 .................. #include #include #define NORDER 4 /* さらに複雑な関数の例 配列を変数として使う場合 */ double func(double,double []); main() { double x,a[NORDER]; int i; for(i=0; i