当前位置:首页 » 编程语言 » c语言求方程ax2

c语言求方程ax2

发布时间: 2023-05-25 07:57:56

1. c语言编程求解一元二次方程ax2+bx+c=0的根,要求系数a,b,c从键盘输入在实数范围内求解

从#include "stdio.h"开始

2. 用c语言编写:求方程ax2+bx+c=0的实数根。a,b,c由键盘输入,a≠0且b2-4ac>0;谢谢!

#include<stdio.h>

#include<math.h>

floatx1,x2;

main()

{

voidf1(floata1,floata2,floata3);

voidf2(floatb1,floatb2,floatb3);

voidf3(floatc1,floatc2,floatc3);

floata,b,c,t;

printf("Inputa=,b=,c= ");

scanf("a=%f,b=%f,c=%f",&a,&b,&c); //输入格式为a=1,b=5,c=6;

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

if(fabs(t)<=1e-6) // 判断t==0 的情况。

f1(a,b,c);

else

渣橘唤if(t>1e-6) // t>0的情况

f2(a,b,c);

else

f3(a,b,c);

}

voidf1(floata1,floata2,floata3)

{

x1伍宏=x2=-a2/(2*a1);

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

}


voidf2(floatb1,floatb2,floatb3)

{

floatdisc;

disc=sqrt(b2*b2-4*b1*b3);

x1=(-b2+disc)/(2*b1);

x2=(-b2-disc)/(2*b1);

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

}


voidf3(floatc1,floatc2,floatc3)

{

floatdisc,t1,t2;

disc如凯=sqrt(4*c3*c1-c2*c2);

t1=-c2/(2*c1);

t2=disc/(2*c1);

printf("x1=%f+%fi ",t1,t2);

printf("x2=%f-%fi ",t1,t2);

}

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

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

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

#include<iostream>

#include<cmath>

using namespace std。

支持继承和重用:

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

(3)c语言求方程ax2扩展阅读:

工作原理:

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

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

4. c语言 编程 求方程ax2+bx+c=0的根,用三个函数分别求当b2-4ac大于0、等于0和小于0时的根,并输出结果。

#include<stdio.h>拦郑运
#include<math.h>
main()
{
void x(float,float,float,float);
void y(float,float,float);
float a,b,c,d=0;
printf("输入a b c的值丛逗:\n");
scanf("%f %f %f",&a,&b,&c);
d=(b*b)-(4.0*a*c);
if (d>0)
x(a,b,c,d);
else if (d==0)
y(a,b,c);
else
printf("无解");
}

void x(float a,float b,float c ,float d)
{
float x1,x2;
x1=(-b+sqrt(d))/简梁(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.3f\nx2=%.3f\n",x1,x2);
}
void y(float a,float b,float c)
{
float x1;
x1=-b/(2.0*a);
printf("x1=x2=%.3f",x1);
}

5. C语言编程,求一元二次方程 ax2+bx+c=0 的解,谢谢

#include<iostream>

#include<cmath>

using namespace std;

int main()

{

for (int i=0;i<2;i++)

{

double a,b,c,delta,p,q;

cin>>a>>b>>c;

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

p=-b/(2*a);

q=sqrt(fabs(delta))/(2*a);

if (delta>=0)

cout<<p+q<<endl<<p-q<<endl;

else

{

cout<<p<<"+j"<<q;

cout<<endl<<p<<"-j"<<q<<endl;

}

}

return 0;

}

(5)c语言求方程ax2扩展阅读:

return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

如果函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。

6. 用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;

}

(6)c语言求方程ax2扩展阅读:

scanf函数用法:

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

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

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

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

7. C语言 求方程aX^2+bX+c=0解,其中a.b.c由键盘输入。若方程无实根,输出没有实数根,否则输出实根

#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c;
printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if (b*b-4*a*c>=0)
{
if (b*b-4*a*c)\
printf("x1=%.2f,x2=%.2f",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
else
printf("x=%.2f",(-b+sqrt(b*b-4*a*c))/(2*a));
}
else
printf("\n无实数根\n");
}

8. C语言编写一个程序求解一元二次方程ax2+bx+c=0的根。要求系数a,b,c从键盘输入在实数范围

下面是求解一元二次方程的C语言代码:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, x1, x2, disc;
printf("请输入一元二次方程的系数a, b, c: ");
scanf("%lf %lf %lf", &a, &b, &c);
disc = b * b - 4 * a * c;
if (disc > 0) {
x1 = (-b + sqrt(disc)) / (2 * a);
x2 = (-b - sqrt(disc)) / (2 * a);
printf("方程的两个实根为: x1=%.2f, x2=%.2f\n", x1, x2);
} else if (disc == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有两个相等的实根: x1=x2=%.2f\n", x1);
} else {
printf("方程无实根\n");
}
return 0;
}

在运行程序时,用户需要从键盘输入方程的系数a, b, c,程序会自动计算辩手并输出方程的根。其中,如果判别式disc大于0,说明方程有逗蠢两个不相等的实根;如果判别式等于0,说明方程有两个相等的实根;山灶陪如果判别式小于0,说明方程无实根。

9. C语言程序设计求方程的解:求ax2+bx+c=0方程的实根

你的问题是当d>0时,顺程序看下去自然就有x1>x2,所以if中的铅缓嵌套if没有起作用,也就是d=0你就直接归为输出no了,下面是我在你的程序基础上改的,删去了一些较繁琐的地方,程序相当简便,即使你用槐举模不到也可能对后来人有帮助。
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,d;
float x1,x2;
printf("please input 3 numbers:\n");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
d=sqrt(d);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
printf("答塌%.2f\n%.2f\n",x1,x2);
}
else if ((int)d==0)
{
x1=-b/(2*a);
printf("%.2f\n",x1);
}
else printf("No");
}

10. C语言:求ax^2+bx+c=0方程的解

C语言:求ax^2+bx+c=0方程的解过程让歼此如下:

#include <stdio.h>
#include <math.h>
int main()
{

// 定义变量
double a, b, c, determinant, root1,root2, realPart, imaginaryPart;
printf("Enter coefficients a, b and c: ");//提示输入三个参数
scanf("%lf %lf %lf",&a, &b, &c); //输入三个系数
determinant = b*b-4*a*c; //求出δ的值

// 判断如果determinant 大于0,方程就有两个实数改旅根

if (determinant > 0)
{
// sqrt() 函数求出平方根
root1 = (-b+sqrt(determinant))/(2*a);
root2 = (-b-sqrt(determinant))/(2*a);
printf("root1 = %.2lf and root2 = %.2lf",root1 , root2);
}

//有两个相等的实数根
else if (determinant == 0)
{
root1 = root2 = -b/(2*a);
printf("root1 = root2 = %.2lf;", root1);
坦迅}
//没有实数根,只有虚数根
else
{
realPart = -b/(2*a); //获取根的实部
imaginaryPart = sqrt(-determinant)/(2*a);//获取根的虚部

printf("root1 = %.2lf+%.2lfi and root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart); //打印虚数根
}
return 0;
}

测试验证:

输入 a, b and c: 2.3
4
5.6
根是: -0.87+1.30i and -0.87-1.30i

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:379
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:613
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:945
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:742
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:372