基于visual Studio2013解决C语言竞赛题之1025Bessel函数
题目
解决代码及点评
/* 功能:25. Bessel函数Jn(X)有以下的递推关系: J[n+1](x)=(2n+1)/x*J[n](x)-J[n-1](x) 并且已知:J[0](x)=sinx/x J[1](x)=sinx/x^2-cosx/x 编写程序,利用递推关系,由任意的n和x≠0求Jn(X)。 注:本程序不允许使用数组。 时间:16:00 2013/10/24 */ #include<stdio.h> #include<stdlib.h> #include<math.h> double Bessel(int n, double x); //Bessel函数原型 void main() { int n; scanf_s("%d", &n); double x; scanf_s("%lf", &x); double result = 0; if (x != 0) //判断x是否为零,x=0函数趋于无穷,x!=0则进行计算函数 { result = Bessel(n, x); printf("J[n](x) = %f\n",result); } else { printf("The function of bessel's is went to ∞ !"); } system("pause"); } double Bessel(int n, double x) { if (n == 1) //结束条件1 { return sin(x) / x; } else if (n == 2) //结束条件2 { return sin(x) / (x*x) - cos(x)/x; } else { return (2 * n + 1) / x * Bessel(n - 1, x) - Bessel(n - 2, x); //递归条件 } }
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn