首页 > 编程语言 >c++打卡第十一天

c++打卡第十一天

时间:2023-04-21 21:36:59浏览次数:39  
标签:第十一天 函数 float cin c++ fd 打卡 include x0

一、问题描述

牛顿迭代法求方程根。

编写一个函数用来实现牛顿迭代法求方程根。方程为为ax^4+bx*3+cx^2+dx+e=0,系数由系统输入,求x在1附近的一个实根,由主函数输出。

x=x0-f(x0)/fd(x0),当 x减去x0的绝对值小于等于1e-5即十的负五次方时,程序结束。

二、设计思路。

①一个简单的函数,使用循环实现,我们可以注意到,这里存在两个自变量x以及x0,而x的值需要我们自己确定,我们在这里也通过程序输入,实现不同的结果。

②我们要注意,x我们赋值时要在1附近赋值,不要差距过大。

③求导的公式需要我们自己书写。

④我们需要调用绝对值函数,此时需要调用头文件#include<cmath>,其实可以再次编写一个函数来实现绝对值。

三、流程图

四、代码实现。

#include<iostream>
#include<cmath>
using namespace std;
float nd(float a,float b,float c,float d,float x)
{
    float f,fd,x0;
    do
    {
     x0=x;
    f=a*x0*x0*x0+b*x0*x0+c*x0+d;
    fd=a*3*x0*x0+b*2*x0+c;
    x=x0-(f/fd);
    }
    while(fabs(x-x0)>1e-5);
    return x;
}
int main()
{
    float a,b,c,d,x;
    cin>>a;
    cin>>b;
    cin>>c;
    cin>>d;
    cin>>x;
    float t=nd(a,b,c,d,x);
    cout<<"距离1最近的一个值为:"<<t<<endl; 
    return 0;
 } 

五、代码实现

 

 

标签:第十一天,函数,float,cin,c++,fd,打卡,include,x0
From: https://www.cnblogs.com/zzqq1314/p/17341863.html

相关文章

  • 打卡第五条
    一、问题描述设计一座圆周率山已知圆周率为:3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930......
  • 打卡8
    1、冒泡排序法#include<stdio.h>#defineN10intmain(){inta[N],temp;printf("请为数组元素赋初值:\n");for(inti=0;i<N;i++)scanf("%d",&a[i]);for(inti=0;i<N;i++){for(intj=0;j<N;j++){if(a[j]>a[j+1]){temp=a[j+1];a[j+1]=a[j];a[j]=t......
  • C++实现通讯录管理系统
    C++实现简单的通讯录管理系统1.功能设计通讯录是一个可以记录亲人、好友信息的工具。本代码主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:●添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人●显示联系人:显......
  • c++万能头文件
    #include<bits/stdc++.h>//C++includesusedforprecompiling-*-C++-*-//Copyright(C)2003-2014FreeSoftwareFoundation,Inc.////ThisfileispartoftheGNUISOC++Library.Thislibraryisfree//software;youcanredistributeitand/......
  • C/C++课程信息管理系统[2023-04-21]
    C/C++课程信息管理系统[2023-04-21]综合应用所学C语言知识,设计完成一个软件工程专业课程信息管理系统。本系统拟实现以下功能:【数据文件】课程信息数据文件。每门课程的信息包含:课程编号,课程名称,理论课时实验课时、学分、开课学期(8个学期)、课程性质《分为必修、选修、限......
  • 建民打卡日记4.21
    一、问题描述一对兔子从出生后三个月起每个月生一对兔子,小兔子三个月后每月生一对兔子,依次类推,假设所有兔子都不死,三十个月内每月兔子总量?二、设计流程1.设置前两个月的初值a,b2.将前两个月的总值赋给下个月c,并依次赋给a,b下个月的值,实现迭代3.输出c三、流程图设计四、代码......
  • 4.21打卡
     2.设计思路①依次列举出所有0~9的两位相同数字②在第一步的前提下依次列举出0~9的两位相同数字③将第一第二步中的四个数字组成的数进行开根,判断结果是否为整数后输出结果 3.程序流程图 4、代码实现#include<bits/stdc++.h>usingnamespacestd;intmain(){......
  • 编程打卡:C语言趣味编程习题做
    编程打卡:C语言趣味编程习题做完数问题描述完数是因子相加等于它本身的数字,求一个范围内的完数。设计思路遍历这个范围内的数字,求它的因子,然后判断是否为完数即可。流程图graphA[开始]-->B[inputN,i=2]-->C{i<=N}--Yes-->D[j=1,sum=0]-->E{j<=i/2}--Yes-->F{i%j==0}--Yes--......
  • 4.20打卡
     #include<bits/stdc++.h>usingnamespacestd;intmain(){inti;doubleb=0.0,a=1000;for(i<=0;i<5;i++){b=(b+a)/(1+12*0.063);}printf("%0.2lf\n",b);return0;} ......
  • c++训练打卡(13)
    分糖果问题:10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样......