解题思路:首先进行自定义函数,运用数学知识来列来列方程,共轭复根可以在输出时给带上。
注意事项:所输入的数一定要是浮点型。
参考代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
float gen1(float a, float b, float c);
float gen2(float a, float b, float c);
float gen3(float a, float b, float c);
float a, b, c, d;
scanf("%f %f %f",&a, &b, &c);
d = b * b - 4 * a * c;
if (d > 0)
{
gen1(a, b, c);
}
else if (d == 0)
{
gen2(a, b, c);
}
else
{
gen3(a, b, c);
}
return 0;
}
float gen1(float a, float b, float c)
{
float x1, x2, d;
d = b * b - 4 * a * c;
x1 = - b / (2 * a) + sqrt(d) / (2 * a);
x2 = - b / (2 * a) - sqrt(d) / (2 * a);
printf("x1=%.3f x2=%.3f",x1, x2);
}
float gen2(float a, float b, float c)
{
float x1, x2, d;
d = b * b - 4 * a * c;
x1 = - b / (2 * a);
x2 = - b / (2 * a);
printf("x1=%.3f x2=%.3f",x1, x2);
}
float gen3(float a, float b, float c)
{
float x1, x2, d;
d = 4 * a * c - b * b;
x1 = - b / (2 * a);
x2 = - b / (2 * a);
printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",x1, sqrt(d) / (2 * a), x2, sqrt(d) / (2 * a) );
}
0.0分
4 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:584 |
WU-输出正反三角形 (C++代码)浏览:1019 |
简单的a+b (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:457 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
简单的a+b (C语言代码)浏览:531 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:575 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:489 |
小O的乘积 (C++代码)浏览:754 |
简单的a+b (C语言代码)浏览:641 |