C语言初步-第35讲: 问题求解方法——迭代(Bessel函数 )

来源:互联网 发布:最优化计算方法黄正海 编辑:程序博客网 时间:2024/05/22 04:39

任务和代码:

    /*
    *Copyright (c)2017 CSDN学院
    *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*i+1) * J1 / x - J0;          J0 = J1;        J1 = Jn;    }    printf("Jn = %.4lf\n", Jn);    return 0;}
运行结果:

知识点总结:

寻找迭代表达式

心得:

1.因为J0、J1的表达式含变量x,在定义变量后应紧接者printf,scanf,否则出错;

2.因为x是double类型,scanf()里必须是%lf,否则出错。

阅读全文
0 0