c 求方程的根,用三个函数
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/23 08:24:04
主函数中加个if条件判断啦!if(a==0)\x09{\x09\x09if(b==0)\x09printf("ERROR!\n");\x09\x09else\x09\x09printf("x=%.2l
#includeintmax(inta,intb,intc);//声明函数voidmain(){inta,b,c;printf("inputthreenumber:\n");scanf("%d%d%d
#includeintswap(intn){inti,s=1;for(i=2;i
这个是有公式的.一元二次方程求根公式:当Δ=b的平方-4ac≥0时,x=[-b±根号(b的2次方-4ac)]/2a一元二次方程配方法:ax^2+bx+c=0(a,b,c是常数)x^2+bx/a+c/a
#include#includefloatfun1(floatdisc){\x05if(disc\x05\x05printf("方程无解!");\x05return0;}floatfun2(float
if(d==0)deltaZero(a,b,c);//你定义的参数是三个,怎么调用的时候传进去四个呢?elseif(d>0)deltaLargerZero(a,b,c);elseif(d再问:嗯嗯对是
试一下把各个参数的类型改为double,因为出现的除法要用实型,否则电脑会自动舍去小数部分!
#include#include"math.h"usingnamespacestd;doublefangcheng(doublea,doubleb,doublec){if(b*b-4*a*c>=0)
如上图,输入、输出的截图 var a,b,c,x,y,t:double; begin readln(a,b,c); t:=b*b-4*a*c; if t>0 then
#include#includevoidtwo(floata,floatb,floatc){floatx1=(-b+sqrt(b*b-4*a*c))/(2*a);floatx2=(-b-sqrt(b*
#include#includefloatp,q;voidm(inta,intb,intc,floatd){p=(-b+sqrt(d))/(2*a);q=(-b-sqrt(d))/(2*a);prin
牛顿迭代法牛顿迭代法又称牛顿切线法,它采用以下方法求根:先任意设定一个与真实的根接近的值x0作为第一个近似根,由x0求出f(x0),过(x0,f(x0))点做f(x)的切线,交x轴于x1,把它作为第二
//运行情况如下:1,2,-31.000000,-3.000000Pressanykeytocontinue//正确的程序如下:#include"stdio.h"doublea,b,c,r,disc;
1.楼主的x()和y()写的一样啊.2.在x()和y()中的定义intx1,x2;应该改为doublex1,x2;3.楼主对b*b-4*a*c
voidfangcheng(doublea,doubleb,doublec){doublex1,x2;doubledelta=b^2-4*a*c;if(delta>0){x1={-b+sqrt(b^2
f(x)=2x^3-3x^2-12x+cf'(x)=6x^2-6x-12=0x^2-x-2=0(x-2)(x+1)=0x1=-1,x2=2当x2时,f'(x)>0,当-1
小朋友用什么语言编都不写
if(disc=0)改为if(disc==0)disc=0为赋值语句.在所有的调用函数里出现了disc,但disc没有计算且没有初始化,需重新计算吧另外建议printf("disc=%d",disc)
刚才那个只能找一个根,现在改了下,可以找所有根:刚才有个小BUG,改了下::#includevoidFindRoot(void){doubledbLeftX=-10.0;doubledbRightX=
二分法的基本思路是:任意两个点x1和x2,判断区间(x1,x2)内有无一个实根,如果f(x1)与f(x2)符号相反,则说明有一实根.接着取(x1,x2)的中点x,检查f(x)和f(x2)是否同号,如果