新手求助!程序为何不对?

WYHMingMing WYHMingMing 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近正在跟着一本书——《第五版信息学奥赛一本通(C++版)》学习C++,书后有一道题如下:
【题目描述】
利用公式x1=−b+b2−4ac√2a,x2=−b−b2−4ac√2a,求一元二次方程ax2+bx+c=0的根,其中a不等于0。结果要求精确到小数点后5位。

【输入】
输入一行,包含三个浮点数a,b,c(它们之间以一个空格分开),分别表示方程ax2+bx+c=0的系数。

【输出】
输出一行,表示方程的解。

若两个实根相等,则输出形式为:“x1=x2=...”;

若两个实根不等,在满足根小者在前的原则,则输出形式为:“x1=...;x2=...“;

若无实根输出“No answer!”。

所有输出部分要求精确到小数点后5位,数字、符号之间没有空格。

【输入样例】
-15.97 19.69 12.02
【输出样例】
x1=-0.44781;x2=1.68075

我的程序如下:
# include <cstdio>
# include <cmath>
using namespace std;
int main()
{
double a, b, c, sqrtn, x1, x2; //创建abc常数,
scanf("%lf %lf %lf", &a, &b, &c);
sqrtn = (b * b) - (4 * a * c);
if (sqrtn < 0)
{
printf("%s", "No answer!");
}
else
{
x1 = (sqrt(sqrtn) - b) / (2 * a);
x2 = ((-b) - sqrt(sqrtn)) / (2 * a);
if (x1 == x2)
{
printf("%s%.5lf", "x1=x2=", x1);
}
else
{
if (x1 < x2)
{
printf("%s%.5lf%s%.5lf", "x1=", x1, ";x2=", x2);
}
else
{
printf("%s%.5lf%s%.5lf", "x1=", x2, ";x2=", x1);
}
}
}
return 0;
}

那本书有一个配套的测评网站http://ybt.ssoier.cn:8088/,我把我的程序传上去之后它用十组数测试了十遍,其他九变都对了,就有一组数它说答案错误,我也不能看到我到底哪里错了,回头又看了代码很迷茫,在此请教各位大神!

望各位大佬们回答,感谢!!!感谢!!!
...全文

相关推荐

求助基于旋转坐标下的PMSM滑模观测器为什么不对呢-dqsuoxianghuanhuamoguanceqi.slx

求助基于旋转坐标下的PMSM滑模观测器为什么不对呢-dqsuoxianghuanhuamoguanceqi.slx 求助:基于旋转坐标下的PMSM滑模观测器,为什么不对呢?

weixin_39840650

新手求助RBF神经网络数据预测问题-数据.xls

新手求助RBF神经网络数据预测问题-数据.xls 本程序用前六个数据预测下一数据,前200组数据用于训练,用后80组数据进行预测,可预测结果为一个值,请大家指教: 源程序为: clc clear close all %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %每五个数据整合, x=xlsread; n=length m=5; sum=0; j=1; x1=zeros); for k=1:m:n     for i=k:         sum=sum x;     end     x1=sum;     j=j 1;     sum=0; end j t=1:; figure plot;%,'d-m' hold on; grid on title; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %归一化处理 [x2,mint,maxt] = premnmx figure plot;%,'d-m' hold on; grid on title; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %输入数据 for k=1:1:200     p_train=[x2 x2 x2 x2 x2 x2]; 5*6     t_train=x2; 5*1 end     p_train=p_train'; %6*195     t_train=t_train'; %1*195 for z=1:1:81     p_test=[x2 x2 x2 x2 x2 x2];     t_test=x2; end      p_test=p_test';      t_test=t_test'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %建立 RBF 网络                      goal = 0.0001;                     % 训练误差的平方和 spread = 0.01;                     % 此值越大,需要的神经元就越少 MN = size;              % 最大神经元数 DF = 1;                            % 显示间隔 net = newrb; data_out=sim p_mse=mse figure plot hold on plot title; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %预测并作图 y=sim y_mse=mse figure plot; hold on; plot title; legend;

weixin_39841365

新手求助RBF神经网络数据预测问题-历史开奖数据.xlsx

新手求助RBF神经网络数据预测问题-历史开奖数据.xlsx 本程序用前六个数据预测下一数据,前200组数据用于训练,用后80组数据进行预测,可预测结果为一个值,请大家指教: 源程序为: clc clear close all %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %每五个数据整合, x=xlsread; n=length m=5; sum=0; j=1; x1=zeros); for k=1:m:n     for i=k:         sum=sum x;     end     x1=sum;     j=j 1;     sum=0; end j t=1:; figure plot;%,'d-m' hold on; grid on title; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %归一化处理 [x2,mint,maxt] = premnmx figure plot;%,'d-m' hold on; grid on title; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %输入数据 for k=1:1:200     p_train=[x2 x2 x2 x2 x2 x2]; 5*6     t_train=x2; 5*1 end     p_train=p_train'; %6*195     t_train=t_train'; %1*195 for z=1:1:81     p_test=[x2 x2 x2 x2 x2 x2];     t_test=x2; end      p_test=p_test';      t_test=t_test'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %建立 RBF 网络                      goal = 0.0001;                     % 训练误差的平方和 spread = 0.01;                     % 此值越大,需要的神经元就越少 MN = size;              % 最大神经元数 DF = 1;                            % 显示间隔 net = newrb; data_out=sim p_mse=mse figure plot hold on plot title; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %预测并作图 y=sim y_mse=mse figure plot; hold on; plot title; legend;

weixin_39841848

新手求助第二次输入数据怎么让switch函数重新确定-geshui.fig

新手求助第二次输入数据怎么让switch函数重新确定-geshui.fig 各位大神,我是新手,自学matlab,编写了一个计算个税缴纳的计算器GUI,来熟悉matlab的函数。 思路是输入应发工资、公积金抵税额、五险一金,输出交税额、实发工资。 其中,应发工资、公积金抵税额是edit直接输入,五险一金提供了两种方法,第一种是直接输入总额,第二种是输入缴费基数、缴费比例,计算得到。 这两种方式通过radio button二选一来选择,分别为选项一、选项二。设置一个计算button,现在遇到的问题有两个,如下: 1、运行GUI后,输入应发工资、公积金抵税额,五险一金总额,radio默认是五险一金总额计算方法,点击计算button,不能输出结果到edit。须点选项二radio button,再点击选项一radio button,计算才能输出结果。 2、第一次计算后,修改五险一金总额edit数值,点击计算button,输出结果不改变。但是修改公积金抵税额edit数值,点击计算button,可以正常计算。 请教大神,这两个问题如何解决?

weixin_39841856

初学者求助汽车单轮制动模型出结果不对-danchelun2.mdl

初学者求助汽车单轮制动模型出结果不对-danchelun2.mdl 本人是matlab初学者。老师让做一个单轮制动模型,总是出不来,求高手指点下,在线等啊,中间加入了一个模糊控制模块,输入时滑移率差,和差的变化率。

weixin_39840387
评论 7
收藏 已收藏
分享
返回顶部
WYHMingMing
C++ 语言 65,214 成员 250,514 内容