当前位置:首页 » 编程语言 » c语言if形式解一元二次方程
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言if形式解一元二次方程

发布时间: 2022-11-25 17:31:47

c语言:if语句 一元二次方程

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
double m;
double x1,x2;
printf("please insert a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
m=b*b-4*a*c;
if (m<0)
printf("the number is wrong,please insert again:");
else
x1=(-b+sqrt(m))/2*a;
x2=(-b-sqrt(m))/2*a;
printf("the answer is : %f,%f",x1,x2);
printf("\n");

}

⑵ C语言求1元2次方程解

#include<stdio.h>
#include<math.h>
void
main()
{
printf("请输入a,b,c:");
float
a,b,c;
scanf("%f,%f,%f",&a,&b,&c);
if(b*b-4*a*c==0)
printf("方程有两个相同的实根为:\n%f\n",-b/(a*2));
if(b*b-4*a*c>0)
printf("方程有两个不同的实根,分别为:\n%f,%f\n",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
if(b*b-4*a*c<0)
printf("方程有两个不同的虚根,分别为:\n%f+%fi,%f-%fi\n",-b/(a*2),sqrt(-b*b+4*a*c)/(2*a),-b/(a*2),sqrt(-b*b+4*a*c)/(2*a));
}

⑶ 一元二次方程 C语言IF语句嵌套问题

嗯,果然是这里有问题。不过貌似还有另外的一个问题:但我输入0,1,1时,编译器就只输出 “2方程有唯一解x=”,完全没有计算的结果-1,能帮忙解决吗?我会追加分的。谢谢。
------------------------------------分割--------------------------------------------
printf("2方程有唯一解x=%f\n",x); %f漏掉了楼主。。

⑷ 用C语言编写一程序求解一元二次方程的根。

#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根为%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程无实数根\n");
}
main()
{
float a,b,c;
printf("请输入a,b,c的值\n");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}

⑸ 用if语言解一元二次方程的C语言程序,在线等~~...

希望有用,谢谢采纳 ^_^

# include<stdio.h>
# include<math.h>
int main()
{
void root2(double a,double b,double disc); //定义方程有两个根时的函数
void root1(double a,double b); //定义方程只有一个根时的函数
void root0(); //定义方程没有实数解是的函数
double a,b,c,disc;
printf("请输入a,b,c的值:");
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0) //一元二次方程二次项系数不为0
{
printf("data error\n");
}
else
{
printf("the Answer of ax^2+bx+c=0 is ");

disc=b*b-4*a*c;
if(disc>0)
root2(a,b,disc);
else if(fabs(disc) < 1e-6)
root1(a,b);
else
root0();
}
return 0;
}
void root2(double a,double b,double disc)
{
double x1,x2;
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("x1=%.2f, x2=%.2f\n",x1,x2);
}
void root1(double a,double b)
{
double x;
x=(-b)/(2*a);
printf("x1=x2=%.2f\n",x);
}
void root0()
{
printf("none\n");
}

⑹ c语言求解一元二次方程

intmain()
{
inta,b,c,d;
floatx1,x2;
scanf("%d%d%d",&a,&b,&c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
printf("Inputerror! ");
}
else
printf("x=%.6f",-c/b);
}
else
{
if(d<0)
printf("Inputerror! ");
elseif(d==0)
printf("x1=x2=%.6f",-b/(2*a));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.6f x2=%.6f ",x1,x2);
}
}
return0;
}

⑺ C语言解一元二次方程

计算逻辑显得有点乱,但没看出有什么大问题;
结束前的这一部分是重复运算了。
else if (b != 0 && c != 0) {
x1 = (-c) / b;
printf("%.2lf", x1);
}
else if (b != 0 && c == 0) {
x1 = 0;
printf("%.2lf", x1);
}
算法可以简化为:
else if (b != 0) {
x1 = (-c) / b;
printf("%.2lf", x1);
}

⑻ 怎样用C语言编一个解一元二次方程的程序(可以看步骤)!

#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 (delta>0) //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;
}