原题链接:[编程入门]自定义函数求一元二次方程
import java.io.*;
/**
* 要注意判别式小于零时候的情况
*/
public class Main {
public static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
public static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
public static StreamTokenizer cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
public static PrintWriter cout = new PrintWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws Exception {
double a, b, c;
double x1, x2;
double z;
cin.nextToken();
a = cin.nval;
cin.nextToken();
b = cin.nval;
cin.nextToken();
c = cin.nval;
z = b * b - 4 * a * c;
if (z > 0) {
x1 = (-b + Math.sqrt(z)) / (2 * a);
x2 = (-b - Math.sqrt(z)) / (2 * a);
cout.printf("x1=%.3f x2=%.3f\n", x1, x2);
} else if (z < 0) {
z = Math.sqrt(-z);
cout.printf("x1=%.3f+%.3fi x2=%.3f-%.3fi\n", -b /(2 * a), z /(2 * a), -b /(2 * a), z /(2 * a));
} else {
x1 = x2 = (-b) / (2 * a);
cout.printf("x1=%.3f x2=%.3f\n", x1, x2);
}
cout.flush();
}
} 0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复