大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个只能计算已经化简成aX^2+bX+c=0的一元二次方程
创新互联是一家专业提供乐东黎族企业网站建设,专注与成都网站设计、做网站、H5网站设计、小程序制作等业务。10年已为乐东黎族众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
int fun(double a,double b,double c,double *x1,double *x2)//由于方程既可能无解也可能有两个解,所以不能直接返回X的值
{
double p=b*b-4*a*c;//计算Δ
if (p0)
{
return 0;//方程无解,返回0
}
p=√p//求Δ的平方根
*x1=……//用求根公式计算X1
*x2=……//用求根公式计算X2
return 1;//方程有解,返回1
}
就这些了,求根公式和求平方根函数我忘了,你自己查一下。头文件要加一个math.h。
这是我做的
#includestdio.h
#includemath.h
void
main()
//主函数
{
float
a,b,c,delta,x,x1,x2,realpart,imagpart;
//定义a,b,c,delta,x,x1,x2,x3为浮点型
scanf("%f,%f,%f",a,b,c);
//输入二次方程系数a,b,c的值
delta=b*b-4*a*c;
if(fabs(a)=1e-6)
//以下为if语句
{
if(fabs(delta)=1e-6)
printf("此时方程有两相同实根且为%f\n",x=-b/2/a);//delta为0有一根
else
if(delta1e-6)
{
x1=(-b+sqrt(delta))/2/a;
x2=(-b-sqrt(delta))/2/a;
printf("x1=%f,x2=%f\n",x1,x2);//delta0有两实根
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-delta)/(2*a);
printf("has
complex
roots:\n");
printf("%f+%f*i\n",realpart,imagpart);
printf("%f-%f*i\n",realpart,imagpart);//delta0有两复根
}
}
else
{
if(fabs(b)=1e-6)
if(fabs(c)=1e-6)
printf("可输出任意x值\n");
else
printf("此时方程无意义\n");
else
printf("此时方程有一根为%f\n",x=-c/b);
}
}
既然你没写完,我就不看语法错误了。关于你输出为什么是连在一起,是因为你第一个printf后没输出空格、制表符、回车或换行。你应该这样写:
printf("b = %lf\n",b);//这样是换行
printf("b = %lf\r",b);//这样是回车
printf("b = %lf ",b);//这样是加一个空格
printf("b = %lf\t ",b);//这样是加一个制表符
c语言一元二次方程编程是#include iostream 。#include cmath。using namespace std。int main()。{float a,b,c;float x1,x2; cinabc;float dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接开平方的方法解一元二次方程.如果方程化成x²=p的形式,那么可得x=±p;(x²=p,x=±根号p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
简洁的语言:
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
#include stdio.h
#include math.h
int main(void)
{
int a, b, c; //定义一元二次方程的三个数值;
printf("请依次输入一元二次方程的三个参数a b c,中间以空格隔开\n");
scanf("%d %d %d", a, b, c); //依次输入一元二次方程的三个参数
double delta = b*b - 4*a*c; //定义delta的值为b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);
if (delta0) //delta大于0时,方程有两个解
{
printf("一元二次方程有两个解\n");
printf("一元二次方程的第一个解,x1 = %f\n",x1);
printf("一元二次方程的第二个解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有两个相同的解
{
printf("一元二次方程有两个相同的解\n");
printf("一元二次方程的解为x1 = x2 =%f\n",x1);
}
else //delta小于0时,方程没有解
{
printf("一元二次方程没有解\n");
}
return 0;
}