网站首页 互联网 > 正文
大家好,乐天来为大家解答以下的问题,关于c语言解一元二次方程ax2+bx+c这个很多人还不知道,现在让我们一起来看看吧!
1、对于如下的一元二次方程:ax*x+bx+c=0设计C语言程序,输入一元二次方程的三个系数a、b、c,求解出该方程的两个根,并且允许用户在程序中多次输入不同的系数,以求解不同的一元二次方程的解。
2、编程思路分析:对于该方程,令delta=b^2-4*a*c,从数学的角度来讲,我们需要根据delta的值来判断该方程的根情况:当delta>=0时,其两个根为实数解,分别为(-b+sqrt(delta))/(2*a)和(-b-sqrt(delta))/(2*a);当delta<0时,其两个根为复数解,实部皆为-b/(2*a),虚部分别为sqrt(-delta)/(2*a)和-sqrt(-delta)/(2*a)。
3、其中,sqrt(delta)代表对delta作开根号运算。
4、在代码设计中,可定义一个结构体Complex存储该方程的根,在该结构体中包括实部和虚部两个变在程序中,定义两个Complex类型的根x1和x2,当delta>=0时,两个根的虚部为0,否则,分别求解两个根的虚部值。
5、具体编程如下:#include "stdio.h" #include "math.h" /*求一元二次方程ax*x+bx+c=0的解*/ main() {float a,b,c,x1,x2,d;printf("请输入a:");scanf("%f",&a);printf("请输入b:");scanf("%f",&b);printf("请输入c:");scanf("%f",&c);d=b*b-4*a*c;if(d < 0)printf("方程没有实数解。
6、");if (d==0){x1=(-b)/(2*a);printf("x1=%f",x1);}if (d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%f,x2=%f",x1,x2);} }请输入a:12请输入b:34请输入c:4x1=-0.122985,x2=-2.710348Press any key to continue扩展资料:一元二次方程还可以用迭代法的思想设计程序:例 :一个饲养场引进一只刚出生的新品种兔子,这种兔子从出生的下一个月开始,每月新生一只兔子,新生的兔子也如此繁殖。
7、如果所有的兔子都不死去,问到第 12 个月时,该饲养场共有兔子多少只?分析:这是一个典型的递推问题。
8、我们不妨假设第 1 个月时兔子的只数为 u 1 ,第 2 个月时兔子的只数为 u 2 ,第 3 个月时兔子的只数为 u 3 ,……根据题意,“这种兔子从出生的下一个月开始,每月新生一只兔子”,则有u 1 = 1 , u 2 = u 1 + u 1 × 1 = 2 , u 3 = u 2 + u 2 × 1 = 4 ,……根据这个规律,可以归纳出下面的递推公式:u n = u(n - 1)× 2 (n ≥ 2),对应 u n 和 u(n - 1),定义两个迭代变量 y 和 x ,可将上面的递推公式转换成如下迭代关系:y=x*2,x=y让计算机对这个迭代关系重复执行 11 次,就可以算出第 12 个月时的兔子数。
9、参考程序如下:cls x=1 for i=2 to 12y=x*2 x=ynext i print yend迭代法是一类利用递推公式或循环算法通过构造序列来求问题近似解的方法。
10、例如,对非线性方程 ,利用递推关系式,从 开始依次计算 ,来逼近方程的根 的方法,若 仅与 有关,即 ,则称此迭代法为单步迭代法,一般称为多步迭代法;对于线性方程组 ,由关系 从 开始依次计算 来过近方程 的解的方法。
11、若对某一正整数 ,当 时, 与 k 无关,称该迭代法为定常迭代法,否则称之为非定常迭代法。
12、称所构造的序列 为迭代序列。
13、参考资料:迭代法_百度百科。
本文分享完毕,希望对大家有所帮助。
免责声明: 本文由用户上传,如有侵权请联系删除!
猜你喜欢:
- 2023-07-05 被遗忘的国度 恶魔之石心得(遗忘国度:恶魔之石)
- 2023-07-05 怎样做到勤能补拙(勤能补拙的方法)
- 2023-07-05 手机上在哪里查询生育险(手机上在哪里查询生育险余额)
- 2023-07-05 跑步膝盖疼的原因及解决方法(跑步膝盖疼的原因及解决方法图片)
- 2023-07-05 山羊画什么脚印(山羊画什么脚印像什么)
- 2023-07-05 设计图:君王板甲护腕如何获得?(君王板甲腰带图纸获取办法)
- 2023-07-05 电脑如何恢复出厂设置win7(笔记本电脑如何恢复出厂设置win7)
- 2023-07-05 DOTA中的骷髅王出装推荐(dota2骷髅王最强出装)
最新文章:
- 2023-07-05 梧州市周边好玩的人气旅游景点推荐(梧州市周边好玩的人气旅游景点推荐一日游)
- 2023-07-05 怎么查看账户余额(ps5怎么查看账户余额)
- 2023-07-05 建设银行信用卡积分怎么查(建设银行信用卡积分怎么查看)
- 2023-07-05 聚划算怎么抢(聚划算怎么抢购)
- 2023-07-05 灵魂潮汐6-6七宗罪顺序攻略(灵魂潮汐六宗罪)
- 2023-07-05 上海搬家公司价格查询怎样进行普通搬家多少钱?(上海搬家公司价格表一览)
- 2023-07-05 电脑网页打开很慢怎么办(电脑网页打开很慢怎么办有时还打不开)
- 2023-07-05 拳皇WingEx1.0隐藏技能怎么用(拳皇wingex1.02隐藏技能)
- 2023-07-05 《名将传说》新手攻略5大职业特色技能详解(《名将传说》新手攻略5大职业特色技能详解介绍)
- 2023-07-05 如何锻炼口才(如何锻炼口才和思维能力)
- 2023-07-05 sumifs函数的使用方法(sumifs函数的使用方法日期)
- 2023-07-05 win10回收站图标不能正常显示怎么办(windows10只有回收站图标)
- 2023-07-05 长沙周边一日游 农家乐农的传人值得你去一趟(长沙农家乐好去处)
- 2023-07-05 联想a789刷机教程 最简单的线刷方法等你分享
- 2023-07-05 育苗块怎么用(育苗块怎么使用)
- 2023-07-05 瑜伽冥想有哪些好处(瑜伽冥想有哪些好处呢)