原题链接:[编程入门]自定义函数求一元二次方程
解题思路:
注意事项:
参考代码:
#include<stdio.h> float seekRoot(float X) { float root = 1; while (((X / root - root) / 2 >= 0.00001) || ((X / root - root) / 2 <= -0.00001)) { root = (root + X / root) / 2; } return root; } int solver1(float EI, float BI, float DELTA) { float x1, x2; x1 = (-BI + seekRoot(DELTA)) / (2 * EI); x2 = (-BI - seekRoot(DELTA)) / (2 * EI); printf("x1=%.3f x2=%.3f", x1, x2); return 0; } int solver2(float EI, float BI) { float x1, x2; x1 = -BI / (2 * EI); x2 = x1; printf("x1=%.3f x2=%.3f", x1, x2); return 0; } int solver3(float EI, float BI, float DELTA) { float a1, a2, a3; a1 = -BI / (2 * EI); a2 = seekRoot(-DELTA) / (2 * EI); printf("x1=%.3f+%.3fi x2=%.3f-%.3fi", a1, a2, a1, a2); return 0; } int main() { float a, b, c, delta; scanf("%f %f %f", &a, &b, &c); delta = b * b - 4 * a * c; if (delta > 0) { solver1(a, b, delta); } else if (delta == 0) { solver2(a, b); } else { solver3(a, b, delta); } return 0; }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复