|
发表于 2021-10-31 13:55:40
|
显示全部楼层
本帖最后由 jackz007 于 2021-10-31 14:01 编辑
- #include <stdio.h>
- #include <math.h>
- double sinx(double x , int n) /* n 代表要求用到的泰勒级数项数 */
- {
- long long b , i , j , s ;
- double v ;
- for(i = 0 , s = 1 , v = 0.0 ; i < n ; s = - s , i ++) {
- for(b = 1 , j = (i + 1) * 2 - 1 ; j ; j --) b *= j ;
- v += s * pow(x , (i + 1) * 2 - 1) / b ;
- }
- return v ;
- }
- int main(void)
- {
- int i , m , n[500] ;
- double x[500] ;
- for(m = 0 ; ;) {
- scanf("%d%lf" , & n[m] , & x[m]) ;
- if(n[m] <= 0) break ;
- else m ++ ;
- }
- for(i = 0 ; i < m ; i ++) printf("%.3lf\n" , sinx(x[i] , n[i])) ;
- }
复制代码
编译、运行实况:
- D:\00.Excise\C>g++ -o x x.c
- D:\00.Excise\C>x
- 8 1.57
- 8 0.5233
- 0 0
- 1.000
- 0.500
- D:\00.Excise\C>
复制代码 |
|