解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<math.h>
int gen(float a,float b,float c)
{
float D,x1,x2,xubu1,xubu2,x0;
D=b*b-4*a*c;
if(D>0)
{
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf("x1=%0.3f x2=%0.3f\n",x1,x2);
}
else if(D==0)
{
x1=x2=-b/(2*a) ;
printf("x1=%0.3f x2=%0.3f",x1,x2);
}
else if(D<0)
{
x1=-b/(2*a); //实部
xubu1=(sqrt(-D)/(2*a)); //虚部
x2=-b/(2*a);
xubu2=(sqrt(-D)/(2*a));
printf("x1="); //按要求输出格式
printf("%0.3f",x1);
printf("+%0.3fi",xubu1);
printf(" x2=");
printf("%0.3f",x2);
printf("-%0.3fi",xubu2);
}
}
int main()
{
float a,b,c;
scanf("%f %f %f", &a, &b,&c);
gen(a,b,c);
return 0;
}
在D<0的判断中,也可替换成“
printf("x1=%.3f+%.3fi ",-b/(2*a),sqrt(4*a*c-b*b)/(2*a));
printf("x2=%.3f-%.3fi",-b/(2*a),sqrt(4*a*c-b*b)/(2*a));
”
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1914 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:773 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2812 |
九宫重排 (C++代码)浏览:1410 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:689 |
简单的a+b (C语言代码)浏览:752 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:900 |
数字游戏 (C++代码)浏览:1240 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:729 |