当前位置:首页 » 编程语言 » c语言ax2bxc0的根

c语言ax2bxc0的根

发布时间: 2022-09-22 08:01:24

Ⅰ 用c语言求方程ax2+bx+c=0的根。

#include<stdio.h>

#include<math.h>

int main ()

{

double a,b,c,d,p;

printf("请输入a,b,c 的值:");

scanf("%lf%lf%lf",&a,&b,&c);

if(a==0)

printf("不是二次方程");

else

{

d=b*b-4*a*c;

if(d==0)

{

printf("有两个相等的根 x=%7.2lf ",-b/(2*a));

}

if (d>0)

{

printf("有两个不相等的根 X1=%7.2lf X2=%7.2lf ",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));

}

if(d<0)

{

p=sqrt(-d/(2*a));

printf("有两个共轭复根 X1=%7.2lfi-%7.2lf X2=%7.2lfi-%7.2lf ",p,b/2,-p,b/2);

}

}

return 0;

}

(1)c语言ax2bxc0的根扩展阅读:

scanf函数用法:

scanf("输入控制符",输入参数);

功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。

用scanf()函数以%s格式读入的数据不能含有空白符时,所有空白符都被当做数据结束的标志。所以题中函数输出的值只有空格前面的部分。

如果想要输出包括空格在内的所有数据,可以使用gets()函数读入数据。gets()函数的功能是读取字符串,并存放在指定的字符数组中,遇到换行符或文件结束标志时结束读入。换行符不作为读取串的内容,读取的换行符被转换为字符串结束标志''。

Ⅱ 编写程序,(C语言)求一元二次方程ax的2次方+bx+c=0的根

#include <stdio.h>
#include <math.h)
#define ESSP 0.00000001
void main()
{
double a,b,c,delta,root1,root2;
printf(\"Please input a:\");
scanf(\"%lf\",&a);
printf(\"Please input b:\");
scanf(\"%lf\",&b);
printf(\"Please input c:\");
scanf(\"%lf\",&c);
delta=b*b-4*a*c;
if(delta<-ESSP)
printf(\"This equation has no real root.\");
elseif(delta>ESSP)
{
root1=(-b+sqrt(delta))/(2*a);
root2=(-b-sqrt(delta))/(2*a);
printf(\"This eqution has two unequalize roots:,%lf,%lf\",root1,root2);
}
else
{
root1=-b/(2*a);
printf(\"This eqution has two equalize roots:,%lf\",root1);

}
}

Ⅲ c++c语言计算aX2+bX+c=0的根。程序编写


#include<stdio.h>
#include<math.h>

intmain()
{
inta,b,c;
floatd;

printf("请输入三个系数,以空格间隔(abc):");
scanf("%d%d%d",&a,&b,&c);
d=(float)b*b-4*a*c;
if(d>0)
{
printf("方程%dX^2+%dX+%d=0的根为:",a,b,c);
printf("x1=%fx2=%f ",(-1.0*b-sqrt(d))/2.0/a,(-1.0*b+sqrt(d))/2.0/a);
}
elseif(d==0)
{
printf("方程%dX^2+%dX+%d=0的根为:",a,b,c);
printf("x=%f ",-1.0*b/2.0/a);
}
else
{
printf("方程%dX^2+%dX+%d=0的没有实数根 ",a,b,c);
}
return0;
}

请输入三个系数,以空格间隔(a b c):3 6 2

方程3X^2+6X+2=0的根为:x1=-1.577350 x2=-0.422650

Ⅳ C语言,求一元二次方程ax2+bx+c=0的根。

#include"stdio.h"
#include"math.h"
void yici(int a,int b)
{
double x=-b/a;
printf("x=%lf\n",x);
}
void erci(int a,int b,int c)
{
int data;
double x1,x2;
data=b*b-4*a*c;
if(data<0)
printf("得他小于零,无解\n");
else if(data==0)
{
x1=-b/2*a;
printf("得他等于零,有一个解:\tx=%lf\n",x1);
}
else
{
x1=(-b+sqrt(data))/2*a;
x2=(-b-sqrt(data))/2*a;
printf("得他大于零,两个解:\tx1=%lf\tx2=%lf\n",x1,x2);
}
}
void main()
{
int i,a,b,c;
printf("---------------------------------------------------------------------------\n1.一元一次方程求解\n2.一元二次方程求解\n3.一元三次方程求解\n0.退出\n---------------------------------------------------------------------------\n");
printf("请输入指令序号(每次输入完按enter键,告诉电脑我输好了):");
scanf("%d",&i);
while(i)
{
switch(i)
{
case 1:printf("把你的方程化为这种格式:ax+b=0 (a,b均为整数(含零))\n请输入a:");
scanf("%d",&a);
printf("请输入b:");
scanf("%d",&b);
yici(a,b);
break;
case 2:printf("把你的方程化为这种格式:ax2+bx+c=0 (a,b,c均为整数(含零))\n请输入a:");
scanf("%d",&a);
printf("请输入b:");
scanf("%d",&b);
printf("请输入c:");
scanf("%d",&c);

erci(a,b,c);
break;
case 3:printf("这你就不用知道了吧,有兴趣的话去了解卡丹公式,可以解出\n");break;
default:printf("输入指令错误,请重新输入\n");
}
printf("---------------------------------------------------------------------------\n1.一元一次方程求解\n2.一元二次方程求解\n3.一元三次方程求解\n0.退出\n---------------------------------------------------------------------------\n");
printf("请输入指令序号:");
scanf("%d",&i);
}

}

Ⅳ 求方程ax2+bx+c=0的根c语言

#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,dis,x1,x2;
printf("请输入a,b,c的值: ");
scanf("%f %f %f",&a,&b,&c);
dis=b*b-4*a*c;
if(dis<0)
{
printf("该函数无实根。\n");
return 0;
}
else if(dis==0)
{
x1=x2=(-b)/(a*a);
printf("该函数有两个相等的实根:\n");
}
else
{
x1=(-b+sqrt(dis))/(2*a);
x2=(-b-sqrt(dis))/(2*a);
printf("该函数有两个不等的实根:");
}
printf("x1=%f x2=%f\n",x1,x2);
return 0;
}

Ⅵ C语言求方程ax2+bx+c=0的根。

利用类的形式刻画一元二次方程:

采用一元二次方程根特性 对2次系数a和delta进行判断 进而得出根的三种情:

#include<iostream>

#include<cmath>

using namespace std。

支持继承和重用:

在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。

(6)c语言ax2bxc0的根扩展阅读:

工作原理:

C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。

Ⅶ 用c编程求二元一次方程ax^2+bx+c=0的根

#include<stdio.h>

#include<math.h>

voidmain()

{

floata,b,c,x1,x2,p,q,disc;

printf("inputa,b,c ");

scanf("a=%f,b=%f,c=%f",&a,&b,&c);

disc=b*b-4*a*c;

if(disc<0)

{

printf("没根 ");

}

else

{

p=-b/(2*a);

q=sqrt(disc)/(2*a);

x1=p+q;

x2=p-q;

printf(" x1=%5.2f x2=%5.2f ",x1,x2);

}

}



(7)c语言ax2bxc0的根扩展阅读

C语言的注释符一般分为两种,一种是以“/*”开头,在中间加上注释内容,并以“*/”结尾的段落注释符。在“/*”和“*/”之间的即为注释。

另一种是以“//”开头,后面加注释内容的单行注释符。在“//”之后的即为注释。

C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。

Ⅷ 【C语言】输入a,b,c的值,求方程ax2+bx+c=0的根。

#include<stdio.h>
#include<math.h>
float x1,x2;
void fn1(int x,int y,int z);
void fn2(int x,int y,int z);
void fn3(int x,int y,int z);
main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
fn1(a,b,c);
fn2(a,b,c);
fn3(a,b,c);
}
void fn1(int x,int y,int z)
{
int a,b,c;
a=x;b=y;c=z;
if(b*b-4*a*c>0)
{
x1=(-b+sqrt(b*b-4*a*c))*1.0/(2*a);
x2=(-b-sqrt(b*b-4*a*c))+1.0/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
}
void fn2(int x,int y,int z)
{
int a,b,c;
a=x;b=y;c=z;
if(b*b-4*a*c==0)
{
x1=-b*1.0/(2*a);
x2=x1;
printf("x1=%f,x2=%f",x1,x2);
}
}
void fn3(int x,int y,int z)
{
int a,b,c;
a=x;b=y;c=z;
if(b*b-4*a*c<0)
printf("无实数解");
}

Ⅸ c语言:求二次函数ax^2+bx+c=0的根

#include<stdio.h>
#include<math.h>
voidmain()
{
floata,b,c,x1,x2,p,q,disc;
printf("inputa,b,c ");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
{
printf("没根 ");
}
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf(" x1=%5.2f x2=%5.2f ",x1,x2);
}
}

你输入的那个方程根本就没有根,这个你需要加一个判断条件,这样才能正确处理求根公式

热点内容
群辉存储服务器 发布:2025-01-11 00:50:19 浏览:428
如何用js脚本 发布:2025-01-11 00:47:32 浏览:887
日志和数据库 发布:2025-01-11 00:47:24 浏览:126
windows配置ftp 发布:2025-01-11 00:35:02 浏览:657
des算法代码c 发布:2025-01-11 00:33:42 浏览:806
共享文件夹设置密码无法访问 发布:2025-01-11 00:32:49 浏览:479
槽钢算法 发布:2025-01-11 00:26:21 浏览:885
linux命令包 发布:2025-01-10 23:54:26 浏览:33
python轮廓 发布:2025-01-10 23:49:23 浏览:179
思科配置线怎么选 发布:2025-01-10 23:48:44 浏览:705