程序设计之数学函数
- 问题1_1
- 代码1_1
- 结果1_1
- 问题1_2
- 代码1_2
- 结果1 _2
- 问题1_3
- 代码1_3
- 结果1_3
问题1_1
函数 f u n fun fun 的功能是计算:
s = ln ( 1 ) + ln ( 2 ) + ln ( 3 ) + ⋯ + ln ( n ) s=\sqrt{\ln(1)\ +\ \ln(2)\ +\ \ln(3)\ +\ \cdots \ +\ \ln(n)\ } s=ln(1) + ln(2) + ln(3) + ⋯ + ln(n)
s s s 作为函数值返回。
代码1_1
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>double fun(int m){int i;double s=0.0;for(i=1; i<=m; i++)s = s+log(i);return sqrt(s);
}void main(void){system("CLS");printf("%f\n", fun(20));
}
结果1_1
问题1_2
函数 f u n fun fun的功能是:求三个数的最小公倍数。
代码1_2
#include<stdio.h>int fun(int x, int y, int z){int j, t, n, m;j = 1;t = j%x;m = j%y;n = j%z;while(t!=0||m!=0||n!=0){j = j+1;t = j%x;m = j%y;n = j%z;}return j;
}void main(void){int x1, x2, x3, j;printf("Input x1 x2 x3:");scanf("%d %d %d", &x1, &x2, &x3);printf("x1 = %d, x2 = %d, x3 = %d\n", x1, x2, x3);j = fun(x1, x2, x3);printf("The minimal common mltiple is:%d\n", j);
}
结果1 _2
问题1_3
函数 f u n fun fun的功能是:用递归算法求形参 a a a 等待的平方根 。求平方根的迭代公式如下 。
x 1 = 1 2 ( x 0 + a x 0 ) x_{1}\ =\ \frac{1}{2}(x_{0}\ +\ \frac{a}{x_{0}}) x1 = 21(x0 + x0a)
迭代步骤如下:
例如: a a a 为 2 2 2 时,平方根值为 1.414214 1.414214 1.414214 。
代码1_3
#include<math.h>
#include<stdio.h>double fun(double a, double x0){double x1, y;x1 = (x0+a/x0)/2.0;if(fabs(x1-x0)>=0.00001)y = fun(a, x1);elsey = x1;return y;
}void main(void){double x;printf("Enter x:");scanf("%lf", &x);printf("The square root of %lf is %lf\n", x, fun(x, 1.0));
}