解题思路:
int d = b*b-4*a*c;
1. d等于0,则两个根相等并等于负的2a分之b, 2. d大于0,则两个根不等,带入公式(-b-sqrt(b*b-4*a*c))/(2*a) 3. d<0,根据算法的稳定性,需提示输出,
注意事项:
d<0时的健壮性提示
参考代码:
#include<cstdio> #include<iostream> #include<math.h> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; int d=b*b-4*a*c; double x1,x2; if(d==0) x1=x2=(-b)/(2*a); else if(d>0) { x1 = ((-b)+sqrt(d))/(2*a); x2 = ((-b)-sqrt(d))/(2*a); } else { printf("无解\n"); } printf("%.2f %.2f\n",x1,x2); return 0; }
0.0分
0 人评分
C二级辅导-进制转换 (C语言代码)浏览:615 |
最小公倍数 (C语言代码)浏览:863 |
WU-整除问题 (C++代码)浏览:612 |
C语言考试练习题_保留字母 (C语言代码)浏览:700 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
1157题解浏览:712 |
1113题解浏览:784 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:551 |
敲七 (C++代码)浏览:1052 |
简单的a+b (C语言代码)浏览:504 |