當前位置:首頁 » 編程語言 » c語言if形式解一元二次方程
擴展閱讀
怎麼清除預覽圖片的緩存 2022-11-30 14:15:11
c語言創建有序鏈表 2022-11-30 14:08:06

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;
}