一元二次方程
怎么写一元二次方程的编程#include<iostream>
#include<cmath>
using namespace std;
void main()
{
float a, b, c, disc, x1, x2, realpart, imagepart;
cout << "输入系数a,b,c:";
cin >> a >> b >> c;
if (fabs(a) <= 1e-6)
cout << "这不是二次方程" << endl;
else
{
disc = b * b - 4 * a * c;
if (fabs(disc) <= 1e-6)
{
x1 = -b / (2 * a);
cout << "方程有两个相等的实数根为:" << x1 << endl;
}
else if (disc > 1e-6)
{
x1 = (-b + sqrt(disc)) / (2 * a);
x2 = (-b - sqrt(disc)) / (2 * a);
cout << "方程有两个不相等的实数根:" << x1 << " " << x2 << endl;
}
else //虚根
{
realpart= -b / (2 * a);
imagepart = sqrt(-disc) / (2 * a);
cout << "存在两虚根:";
cout << realpart << "+" << imagepart << "i" << endl;
cout << realpart << "-" << imagepart << "i" << endl;
}
}
} 本帖最后由 昨非 于 2020-10-15 00:05 编辑
好家伙,半夜了才通过审核 #include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
disc=b * b - 4 * a * c;
if(disc < 0)
{
printf("该函数没有实数根。\n");
}
if(disc == 0)
{
x1 = -b / (2.0 * a);
printf("该函数有两个相同的实数根 x = %lf\n",x1);
}
if(disc > 0)
{
p = -b / (2.0 * a);
q = sqrt(disc)/(2.0 * a);
x1 = p + q;
x2 = p - q;
printf("x1 = %lf\nx2 = %lf\n",x1,x2);
}
return 0;
} 风过无痕1989 发表于 2020-10-14 19:05
我的两条评论被吞了,屮 昨非 发表于 2020-10-14 19:58
我的两条评论被吞了,屮
我还觉得奇怪,明明看到了你的名字,却看不到你发出来的东西 风过无痕1989 发表于 2020-10-14 20:20
我还觉得奇怪,明明看到了你的名字,却看不到你发出来的东西
很烦 昨非 发表于 2020-10-14 20:23
很烦
我也很烦,今天下午了七八个帖子,没有一个人选最佳答案
我得在电脑里建一个名单,将他们都记下来,下次看到他们和求助帖子,就当作没看到一样 风过无痕1989 发表于 2020-10-14 20:26
我也很烦,今天下午了七八个帖子,没有一个人选最佳答案
我得在电脑里建一个名单,将他们都记下来,下 ...
你可以去我的建议贴(投诉建议区)那里@下小甲鱼,这个真得管管 风过无痕1989 发表于 2020-10-14 20:26
我也很烦,今天下午了七八个帖子,没有一个人选最佳答案
我得在电脑里建一个名单,将他们都记下来,下 ...
关于互助平台
https://fishc.com.cn/thread-181755-1-1.html
(出处: 鱼C论坛)
昨非 发表于 2020-10-14 20:38
关于互助平台
https://fishc.com.cn/thread-181755-1-1.html
(出处: 鱼C论坛)
我去回帖子了 我是来学习的 好家伙,半夜了才通过审核
能放出来还不错~~你的程序是C++语言的,我的是C语言的,咱俩的程序不形成冲突,由楼主自己选择吧 没满意答案,帮你顶上去 这么多答案,难道就没有一个是正确的?选个最佳答案,又不要你付出什么,只是让系统给予帮助你的人一点点奖励,有那么难吗?
页:
[1]