解题思路:首先进行自定义函数,运用数学知识来列来列方程,共轭复根可以在输出时给带上。
注意事项:所输入的数一定要是浮点型。
参考代码:
#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 人评分
WU-小九九 (C++代码)浏览:1713 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:895 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:934 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:585 |
C二级辅导-计负均正 (C语言代码)浏览:523 |
Tom数 (C语言代码)浏览:598 |
分糖果 (C语言代码)浏览:980 |
单词个数统计 (C语言代码)浏览:1046 |
多输入输出练习2 (C语言代码)浏览:1710 |
1162答案错误,为什么浏览:700 |