运用c语言,实现一元二次方程的解的计算ax^2 bx c=0的解
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/03 02:14:25
你声明的变量a,b,c都为double,所以用scanf时应用"%lf",还有,你为什么要用do{}while();循环呢,这样,不管你输入了a的值为多少,执行完while(a=0);之后,a的值就为
#include"stdio.h"#include"math.h"/*求一元二次方程ax*x+bx+c=0的解*/main(){floata,b,c,x1,x2,d;printf("请输入a:");s
//只一处有错,还有一个注意输入格式.#include#includeintmain(){doublep,q,x1,x2,disc,a,b,c;scanf("%lf,%lf,%lf",&a,&b,&c
intmain()printf("请输入a,b,c");{scanf("%d%d%d",a,b,c);intx1,x2;inty=sqrt(b*b-4*a*c);if(y>0){x1=(-b+y)/2
scanf("%f,%f,%f",a,b,c);a,b,c前加个&符号还有x1=(e-b)/2a,要x1=(e-b)/(2*a)
#include#includeintmain(){inta,b,c,x,p,x1,x2;printf("输入三个实数:\n");scanf("%d%d%d",&a,&b,&c);p=b*b-4*a*
lf%错了,应该是%lf
很高兴为您解答.原代码中的scanf和printf中的%要放在d和lf的前面才对,改正后运算无误~#include#includevoidmain(){doublex1;//x1,x2分别为方程的2个
(1)当b²-4ac
首先,把scanf里面的%f改成%lf,printf里面不用管,其次,b*b要大于4*a*c才会有结果的.
double改做float再问:yiyuanercifangcheng.cpp(25):warningC4244:'=':conversionfrom'int'to'float',possiblelo
#includefloatf(float);voidmain(){floata,b,c,d,x1,x2,p,q;printf("a=");scanf("%f",&a);printf("b=");sca
#include#includeintmain(){floatf(float);floatm=0;inta=-10,b=10;//a,b为大致区间可以自己修改while(fabs(f(m))>
TDM-GCC64位元编译无误.再问:能不能输入1,2,1之后按回车?,不换行行不行?再答:可以输入121,可以不换行。如果你想要1,2,1得到正确结果,输入语句要改为scanf("%lf,%lf,%
您好!很高兴为您解答.如果刨除输入格式的问题,输入的那一行“scanf("%1f,%1f,%1f",&a,&b,&c);”应该改为“scanf("
/*结束程序请按“Ctrl+z”*/#include#includeintmain(){floata,b,c;doubled,x1,x2;printf("Enterthecoefficient
#defineTURE1#defineFALSE0#include#includetypedefstruct{\x09floatcoef;\x09inte;}ElementType;typedefst
#include<stdio.h>#include<math.h>int main(){ double a,b
double类型的不能直接用==0来判断,用fabs(a)
#include"stdio.h"#include"math.h"#include"windows.h"voidmain(){floata,b,c;printf("----计算一元二次方程ax^2+b