信息奥赛一本通(1058:求一元二次方程)

该博客主要分析了一个C语言实现的一元二次方程求解程序。程序使用公式计算方程的根,考虑了根相等、不等和无实根三种情况,并要求结果精确到小数点后5位。输入为方程系数,输出为解的形式。博客内容包括程序逻辑、错误检查和输出格式。
摘要由CSDN通过智能技术生成

1058:求一元二次方程


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 83135     通过数: 14037

【题目描述】

利用公式x1=−b+b2−4ac√2a,x2=−b−b2−4ac√2ax1=−b+b2−4ac2a,x2=−b−b2−4ac2a,求一元二次方程ax2+bx+c=0ax2+bx+c=0的根,其中aa不等于00。结果要求精确到小数点后55位。

【输入】

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

【输出】

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

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

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

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

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

【输入样例】

-15.97 19.69 12.02

【输出样例】

x1=-0.44781;x2=1.68075

【分析】

disc=0,两个相等实根,判断方法,误差法,fabs(disc-0)<13-6

【参考代码】

#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c,disc,x1,x2,t;
    scanf("%lf%lf%lf",&a,&b,&c);
    disc=b*b-4*a*c;
    if(fabs(disc)<1e-6)
    {
        printf("x1=x2=%.5lf\n",(-b)/(2*a));
    }
    else if(disc>0)
    {
        x1=(-b+sqrt(disc))/(2*a);
        x2=(-b-sqrt(disc))/(2*a);
        if(x1>x2)
        {
         t=x1;
         x1=x2;
         x2=t;
}
        printf("x1=%.5lf;x2=%.5lf\n",x1,x2);
    }
    else
    {
        printf("No answer!");
    }
    return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1058

信息奥赛一本1255:迷宫问题是一个关于迷宫的问题。这个问题要过广搜算法来解决迷宫问题,找到走出迷宫的路径。具体来说,迷宫可以看成是由n×n的格点组成,每个格点只有两种状态, "." 和 "#" 。其中 "." 代表可行的路径,"#" 代表不可行的墙壁。过广搜算法,我们可以搜索从起点到终点的路径,找到一条合法的路径即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [信息奥赛一本 1255:迷宫问题 | OpenJudge NOI 2.5 7084:迷宫问题](https://blog.csdn.net/lq1990717/article/details/124721407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [c++信息奥赛一本1215题解](https://download.csdn.net/download/Asad_Yuen/87357807)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [信息奥赛一本(1255:迷宫问题)](https://blog.csdn.net/lvcheng0309/article/details/118879231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值