C语言:返回指针的函数,函数声明、定义和调用,嵌套调用

该篇博客探讨了如何使用C语言通过泰勒展式计算sin(π/2)和sin(56°)的值,并要求精度达到小数点后6位。此外,还讲解了如何在main()函数中调用show_sin_table函数显示角度值的正弦值。博客内容涵盖了返回指针的函数、函数声明、定义和调用的规则,强调了野指针问题和函数嵌套调用的概念。最后,作者分享了编程过程中的体会和编码规范的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务代码:

例题1:


/*
功能:弦截法求f(x)=x^3-5x^2+16x-80的根
算法:去两个不同的点x1,x2,如果对应的f(x1),f(x2)是异号的则在区间(x1,x2)区间内必有一个根
*/


#include <stdio.h>
#include <math.h>

double xpoint(double,double);
double f(double);
double root(double,double);

/*main主控输入和输出*/
int main()
{
    double x1,x2,f1,f2,x;
    printf("此程序执行求方程f(x)=x^3-5x^2+16x-80的根!\n");

    while(1)
    {
      printf("请输入x1,x2:");
      scanf("%lf %lf",&x1,&x2);
      f1=f(x1);
      f2=f(x2);
      if(f1*f2>=0)//f1,f2同号的时候循环输入,知道异号的时候停止
        continue;
      else
         break;
    }
    x=root(x1,x2);//当f1,f2异号的时候才能将此时的x1,x2传输到root
    printf("方程的根是:%lf",x);
    return 0;
}

/*
功能:求(x1, x2)区间方程的实根
参数:两个浮点型值,表示x轴上两点,由主调函数保证f(x1)和f(x2)是异号
返回值:方程的根
*/
double root (double x1,double x2)
{
    double x,y,y1;
    y1=f(x1);
    do
    {
        x=xpoint(x1,x2);
        y=f(x);//(x,y)为弦和x轴的切点坐标
        if(y*y1>0)
        {
            y1=y;
            x1=x;
        }else
        {
            x2=x;
        }
    }while(fabs(y)>=0.00001);//无限接近x轴,也就切点的时候
    return x;

}

/*
功能:求(x1, f(x1))和(x2, f(x2))的连线与x轴的交点x
参数:两个浮点型值,表示x轴上两点
返回值:交点的x轴坐标
*/

 double xpoint(double x1,double x2)
 {
     double x;
     x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
     return x;
 }

 /*
 功能:求函数f(x)=x3-5x2+16x-80的值
 参数:一个浮点型数表示x轴上的一点
 返回值:给定函数值
 */
 double f(double x)
 {
    double y;
    y=pow(x,3)-5*pow(x,2)+16*x-80;
    return y;

 }

实践1

设计程序,计算:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值