#include <stdio.h>
#include <math.h>
void main()
{ double a,b,c,x1,x2,d,i,t;
printf("请输入 a,b,c:\n");
scanf("%lf,%lf,%lf",&a,&b,&c);
d=b*b-4*a*c;
i=sqrt(-1);
if(a==0)
printf("不是二次函数\n");
else if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%lf,x2=%lf\n",x1,x2);
}
else if(d<0)
{
x1=(-b+i*sqrt(d))/(2*a);
x2=(-b-i*sqrt(d))/(2*a);
printf("x1=%lf,x2=%lf\n",x1,x2);
}
else
{
t=-b/(2*a);
printf("x1=x2=%lf\n",t);
}
}
输入有些值可以正确输出,有些不行。我也看不出错在哪了。改出来了会有财富加分的,谢谢。
学的不好所以来求助大家,非常感激
我把 i=sqrt(-1);删去了,定义了char i;
d<0时改成:
else if(d<0)
{
x1=(-b)/(2*a)+(sqrt(-d)/(2*a))*i;
x2=(-b)/(2*a)+(sqrt(-d)/(2*a))*i;
printf("x1=%lf,x2=%lf\n",x1,x2);
}
这样还是不对,输出的不带i,值也是错误的,应该怎样表示呢,谢谢你
else if(d<0)
{
printf("x1=%lf+%lfi,x2=%lf-%lfi\n",(-b)/(2*a),sqrt(-d)/(2*a),(-b)/(2*a),sqrt(-d)/(2*a)));
}
//i根本就没用!所有跟i有关的全删掉!
c语言 输出二次函数的根。帮我看看错在哪了,谢谢啊
include <stdio.h> include <math.h> void main(){ double a,b,c,x1,x2,d,i,t;printf("请输入 a,b,c:\\n");scanf("%lf,%lf,%lf",&a,&b,&c);d=b*b-4*a*c;i=sqrt(-1);if(a==0)printf("不是二次函数\\n");else if(d>0){ x1=(-b+sqrt(d))\/(2*a);x2=(...
c语言问题,求大神,求二次函数的根
d=b*b-4*a*c; \/\/这里计算的结果是d if(d<0) \/\/这里怎么能判断n呢? 改成d printf("无解\\n");
C语言初学者编写的解二次函数程序,求指点到底哪里错了
printf("x1=%lf\\nx2=%lf\\n"x1,x2);应该是printf("x1=%lf\\nx2=%lf\\n",x1,x2);少了逗号 两个地方都是这个问题
c语言:求二次函数ax^2+bx+c=0的根
include <stdio.h>#include <math.h>void main(){ float a,b,c,x1,x2,p,q,disc; printf("input a,b,c\\n"); scanf("a=%f,b=%f,c=%f",&a,&b,&c); disc=b*b-4*a*c; if (disc<0) { printf("没根\\n"); } else { p=-b\/(2*a)...
c语言输出ax²+bx+c=0的根。帮我看看错在哪,谢谢。
double a,b,c,x1,x2,d,i,t;printf("请输入 a,b,c:\\n");scanf("%lf,%lf,%lf",&a,&b,&c);d=b*b-4*a*c;printf("%3.1lf\\t%3.1lf\\n",a,d,i);if(a==0)printf("不是二次函数");else { if(d>0){ x1=(-b+sqrt(d))\/(2*a);x2=(-b-sqrt(d))\/(2*a);...
...谁能帮我看看我的列表有没有算错数 如果错了能帮我改正下么?谢谢...
x=-2时,y=2 x=2时,y=2
二次函数最终的结果用再化成一般形式吗??急!!!谢谢你 谢谢啊~~~·
不用啊 但是你也可以化 不化也不会判你错的 但是要是那种批量阅卷的话 最好还是化一下
大家帮我看看我的问题出在哪里啦。谢谢啦 x方说明开口朝上,有最小...
你在这道题中的知道思路并没有错,但是当X=0时,Y并不是最小值,你认为的X=0时,Y 最小是不成立的,看答案就知道了Y最小时,X=-2.5。
在二次函数中 a的位置大小取决于它的开口向上或向下那么b的位置取决于...
a的正负决定开口上下,-b\/(2a)决定对称轴的位置,(4ac-b*b)\/4a决定二次函数的顶点纵坐标 记得采纳啊
...及过程有问题吗,有的话说一下,这有两个问题!在下边别漏了谢谢...
第一题你答案是错的!过程是对的。题目要求是-2<x<7\/2内有实数解,不是有2个实数解 所以当t取-5~-31\/4之间,依然与所截的二次函数有交点。因此第一题结果是-31\/4<t<5\/4 第二题-5<y<13是对的。这个不是解不等式!不存在什么同大取大同小取小这么可笑的事!不要把不同的概念混淆...