中易网

c语言输出ax²+bx+c=0的根。帮我看看错在哪,谢谢。

答案:4  悬赏:0  
解决时间 2021-04-21 01:04
请问谁能帮我看看这个程序错在哪里,每次输入a,b,c都输出的定值,并且不是根。
谢谢大家啦
#include
#include
void main()
{ double a,b,c,x1,x2,d,i,t;
printf("请输入 a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
d=b*b-4*a*c;
i=sqrt(-1);
if(a=0)
printf("不是二次函数");
else if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%d,x2=%d\n",x1,x2);
}
else if(d<0)
{
x1=(-b+i*sqrt(d))/(2*a);
x2=(-b-i*sqrt(d))/(2*a);
t=-b/(2*a);
printf("x1=x2=%d\n",t);
printf("x1=%d,x2=%d\n",x1,x2);
}
else
{
}
}
最佳答案
#include
#include
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;
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);
printf("x1=%lf,x2=%lf\n",x1,x2);
}
else if(d<0)
{
t=-b/(2*a);
x1=(-b+sqrt(fabs(d)))/(2*a);
x2=(-b+sqrt(fabs(d)))/(2*a);
printf("x1=%3.1lf+%3.1lfi,x2=%3.1lf-%3.1lfi\n",t,x1,t,x2);
}
else
{
t=-b/(2*a);
printf("x1=x2=%3.1lf\n",t);
}
}
}
0.a==0
1.sqrt(-1)是错误的,复数不能开方
2.输出和输入应该用%lf,写成%3.1lf是为了限制一下长度
3.你的结构不清楚,导致输出逻辑,当a!=0时,再进行对d的判断,分别输出相应的结果。
4.复数根是带i的,但是i不要带入运算,而是在结果中表示,出来,把判别式看成两个分式的和
全部回答
if(a=0)换成if(a==0) 输出跟输入的%d全换成%lf.
(b*b-4*a*c)>0; 这句是啥? 加 if判断
赋值用一个等号判断用两个等号
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
德国喜宝奶粉奶源是荷兰吗
肥东房产证局明天上班吗
王者荣耀钻石怎么赚够六十颗钻石
桓仁百盛宾馆怎么去啊,有事要去办理
潢川有到北仑的汽车吗?
各位高高高手,画产品的平面结构示意图用什么
这属于常绿高大常绿乔木 开米黄色花 有香味
上海市哪里有卖宠物小猴子的
十一期间,我想在塘沽吃海鲜,哪里的好吃还比
秋季宝宝需要注意哪些问题
在校生坐牢,是否可以保释?
有没有消原音的软件?简单易弄?要中文版的!
老杭州馄饨王怎么去啊,有知道地址的么
浙江省温州市龙湾区状元镇三郎桥村邮编是什么
三亚的机场叫什么名字?
推荐资讯
微波炉饭盒盖子用的胶水是什么
辽源新天地影城在哪
西门子编程软件Step7 v5.5 sp4 中文版,在64
北方工业大学机械制造及其自动化专业
合肥到六安的城铁经过哪些地方
洗衣服用肥皂好还是洗粉好?为什么?
哪个品牌高级冰箱质量最好?
中国移动(枫香乡营业厅)怎么去啊,有事要去办
呼市哪里有卖微喷滴灌产品
转职和换角色有森什么不一样
The Greens are English.Now they are in Bei
嘉定外冈镇到昆山定山湖镇怎么去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?