求根公式c语言
① c语言一元二次方程求根公式代码不知哪里出错了,运行输入数字后程序中止,请各位大佬指正!
注意一元二次方程中a不可能为零,个人认为不需要进行判别;
② c语言写的求根公式,编译时没报错,但是连接时候报错了,求解,新人
//给你个逻辑更严密的供参考
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,d;
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("恒等式:0+0+0=0\n");
}
else
{
printf("输入错误,不能构成等式!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%.2lf\n",0==-(double)c/b ? 0 : -(double)c/b);
}
}
else
{
d=b*b-4*a*c;
if(d<0)
{
printf("x1=%.2lf+%.2lfi\nx2=%.2lf-%.2lfi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.2lf\n",(-b)/(2.0*a));
}
else
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
}
}
return 0;
}
③ C语言求根公式,大家能帮我看下有什么错误吗谢谢
应该说没有错误,只是输入必须严格按照格式:
a=1,b=2,c=-3 回车
其中除了数字之外,别的都不能改,而且还得保证方程有实数根。
④ 求根公式的c语言表达式是什么
求根公式的c语言程序如下:
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2,,a,b,c
float deta;
scanf("%f,%f,%f",&a,&b,&c);
deta=b*b-4*a*c;
if(deta<0)
{
printf("方程无解");
}
else
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("x1=%f,x2=%f",x1,c2);
}
return 0;
}
⑤ c语言里 一元二次方程求根公式怎么写
#include<stdio.h>
#include<math.h>
intmain()
{
floata,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);//输入三个系数
d=b*b-4*a*c; //计算判别式
if(d<0)printf("无实数根! ");
elseif(d==0)printf("有两个相等的实数根,x1=x2=%g ",-b/(2*a));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%g x2=%g ",x1,x2);
}
}
⑥ c语言,求根公式
你的if语句那的括号有问题
#include<stdio.h>
#include<math.h>
intmain(){
doublea,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);
if(a==0){
if(b==0){
if(c==0)
printf("该式为恒等式 ");
else
printf("该式不成立,请重新输入a,b,c ");
}else{
x1=c/b;
printf("x1=x2=%f ",x1);
}else
d=b*b-4*a*c;
if(d<0){
d=-d;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f,虚根 ",x1,x2);
}else{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);
}
return0;
}
⑦ C语言关于求根公式的简单问题
错误:if((b*b==4*a*c),将if后边的括号去掉一个;
这样之后,程序在VC6下编译通过,不过运行有错,必须要对float变量初始化一下,不然会全部是零;修改如下:
#include<stdio.h>
#include<math.h>
void main()
{
float a=1.111,b=0.0,c=0.0,d=0.0,q=0.0;//x1,x2,d,q,w,r;
printf("Please input the three coefficients:");
fflush(stdin);
scanf(" %f",&a);
scanf(" %f",&b);
scanf(" %f",&c);
printf("%fx*x+%fx+%f=0 \n",a,b,c);
d=sqrt(b*b-4*a*c);
if(b*b==4*a*c)
{
q=(-b)/2/a;
printf("x1=x2=q\n",b,a);
}
else if(b*b>4*a*c)
{
//printf("w=(-%f+%f)/2/%f,r=(-%d-%d)/2/%d\n",b,d,a,b,d,a);
printf("x1=%f \n x2=%f \n",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
}
else
printf("There is no real root.\n");
}
你后边那个问题,其实如果近似解的话,可以照我上边写法,如果一定要是分数,7/8/2可以写成7/(8*2),也就是将w=(-%f+%f)/2/%f改成:w=(-%f+%f)/(2*%f);
试试喽;
⑧ C语言求方程ax2+bx+c=0的根。
利用类的形式刻画一元二次方程:
采用一元二次方程根特性 对2次系数a和delta进行判断 进而得出根的三种情:
#include<iostream>
#include<cmath>
using namespace std。
支持继承和重用:
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
(8)求根公式c语言扩展阅读:
工作原理:
C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。
⑨ C语言二次方程的求根公式
浮尘说的不错,但是需要判断一下b*b-4ac的值。b*b-4ac>0,有2个不相等的实根,b*b-4ac=0,有2个相等的实根,b*b-4ac<0则无实根,有2个虚根
⑩ 用C语言做,求根公式。要求虚数解。怎么做求大神
#include<stdio.h>
#include<math.h>
int main()
{
float x1,x2,,a,b,c
float deta;
scanf("%f,%f,%f",&a,&b,&c);
deta=b*b-4*a*c;
if(deta<0)
{
printf("方程无解");
}
else
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("x1=%f,x2=%f",x1,c2);
}
return 0;
}