OpenJudge NOI 刷题日常(2)
1.4 20 求一元二次方程的根
该题注意事项:
用float或double等浮点类型数据,用负数乘0,会得到一个-0的答案,所以需要加以定义。
#include <bits/stdc++.h>
using namespace std;
int main()
{
float x1,x2;
float a, b, c;
scanf("%f %f %f", &a, &b, &c);
if(b*b == 4*a*c)
{
x1=(-1)*b/(2*a);
x2=(-1)*b/(2*a);
printf("%s%.5f", "x1=x2=",x1);
}
else if(b*b > 4*a*c)
{
x1=(-1*b + sqrt(b*b-4*a*c))/(2*a);
x2=(-1*b - sqrt(b*b-4*a*c))/(2*a);
if(x1>x2)
printf("%s%.5f%s%.5f", "x1=",x1,";x2=",x2);
else
printf("%s%.5f%s%.5f", "x1=",x2,";x2=",x1);
}
else
{
if(b==0)
x1=0;
else
x1=(-1)*b/(2*a);
x2=sqrt(4*a*c-b*b)/abs(2*a);
printf("%s%.5f%s%.5f%s%.5f%s%.5f%s", "x1=",x1,"+",x2,"i;x2=",x1,"-",x2,"i");
}
return 0;
}
关键点如下:
if(b==0)
x1=0;
输入“1 0 1 ”
若不加以定义,输出为
更改后,输出为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现