任务和代码:
/*
*Copyright (c)2017 优快云学院
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2017.9.21
*版本号:v2.
*
*问题描述:Bessel函数Jn(X)有以下的递推关系:
*问题输出:利用递推关系,由任意的n和x≠0求Jn(X)。输出其结果
*/
#include <stdio.h>
#include <math.h>
int main( ){
double Jn, J0, J1, x;
int n, i;
printf("请输入 n 和 x 的值:\n");
scanf("%d %lf", &n, &x);
J0=sin(x)/x;
J1=sin(x)/(x*x) - cos(x)/x;
for (i=1; i<=n-1; i++){
Jn=(2*n+1) * J1 / x - J0;
J0 = J1;
J1 = Jn;
}
printf("Jn = %.4f\n", Jn);
return 0;
}
运行结果:
知识点总结:
寻找迭代表达式
心得:
1.因为J0、J1的表达式含变量x,在定义变量后应紧接者printf,scanf,否则出错;
2.因为x是double类型,scanf()里必须是%lf,否则出错。