第 23 題 - 解答


#include <stdio.h>
#include <math.h>
double fun(double,double);
int main()
{
   double x; 
   
   printf("請輸入x(x>0)值:"); 
   scanf("%lf",&x); 
   printf("h=10^-1 , 微分值=%f\n",fun(x,pow(10,-1))); 
   printf("h=10^-2 , 微分值=%f\n",fun(x,pow(10,-2)));
   printf("h=10^-3 , 微分值=%f\n",fun(x,pow(10,-3)));
   return 0;
}

double fun(double x, double h)
{
   return (log(x+h)-log(x))/h;
}

考試版本
#include <stdio.h>
#include <math.h>
double fun(double,double);
int main()
{
   double x; 
   
   scanf("%lf",&x); 
   printf("%f\n",fun(x,pow(10,-1))); 
   printf("%f\n",fun(x,pow(10,-2)));
   printf("%f\n",fun(x,pow(10,-3)));
   return 0;
}

double fun(double x, double h)
{
   return (log(x+h)-log(x))/h;
}