问题 E: 例题3-5 求一元二次方程的根

wp18182221317 2018-07-14 04:56:40
时间限制: 1 Sec 内存限制: 128 MB
题目描述
求一元二次方程ax2+bx+c=0的根,三个系数a, b, c由键盘输入,且a不能为0,且保证b2-4ac>0。
程序中所涉及的变量均为double类型。

输入
以空格分隔的一元二次方程的三个系数,双精度double类型
输出
分行输出两个根如下(注意末尾的换行):
r1=第一个根
r2=第二个根
结果输出时,宽度占7位,其中小数部分2位。

样例输入

样例输出







总结
1. 在做题时漏看了“宽度占7位”的要求,导致答案错误。
2. 其实也可以不用再设一个d,但是这样更加简洁,不容易出错。
...全文
544 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
_肆 2018-07-16
  • 打赏
  • 举报
回复
	double a, b, c, d;
double r1, r2;

do
{
printf("依次输入a b c,以空格分隔\n");
scanf("%lf %lf %lf", &a, &b, &c);
d = b*b - 4.0*a*c;
} while (a == 0 && d < 0.0);

r1 = (-b + sqrt(d)) / (2.0*a);
r2 = (-b - sqrt(d)) / (2.0*a);
printf("r1=%7.2lf\nr2=%7.2lf\n", r1, r2);

return 0;
  • 打赏
  • 举报
回复
答案已经给出了啊

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧