【编写程序,求一元二次方程ax2+bx+c=0的根(保留2位小数).系数a、b、c为浮点数,其值在运行时由键盘输入.【运行结果】(运行6次,□表示空格,↙表示回车)输入一元二次方程的系数a,b,c:0□0□0】
<p>问题:【编写程序,求一元二次方程ax2+bx+c=0的根(保留2位小数).系数a、b、c为浮点数,其值在运行时由键盘输入.【运行结果】(运行6次,□表示空格,↙表示回车)输入一元二次方程的系数a,b,c:0□0□0】<p>答案:↓↓↓<p class="nav-title mt10" style="border-top:1px solid #ccc;padding-top: 10px;">宋毅的回答:<div class="content-b">网友采纳 首先是d=b*b-4*a*c;要放在输入后面! printf("方程有两个不同虚根:x1=%.2fx2=%.2fn",(-b+sqrt(-d)*i)/(2*a),(-b-sqrt(-d)*i)/(2*a); 感觉这个会出错,输出结果:“方程有两个不同虚根:x1=···x2=···”应该不会有i,i会变成未定义 试试这样prinf("方程有两个不同虚根:x1:%.2f+%.2fix2:%.2f+%.2fi", -b/(2*a),sqrt(-d)/(2*a),b/(2*a),-sqrt(-d)/(2*a));需要加括号的加上<p class="nav-title mt10" style="border-top:1px solid #ccc;padding-top: 10px;">宋毅的回答:<div class="content-b">网友采纳 #include #include intmain(void){ doublea,b,c,d; printf("输入一元二次方程的系数a,b,c:"); scanf("%lf%lf%lf",&a,&b,&c); x09d=b*b-4*a*c; if(a==0&&b==0&&c==0) printf("方程无穷解!n"); elseif(a==0&&b==0&&c!=0) printf("方程无解!n"); elseif(a==0&&b!=0&&c!=0) printf("方程有一个根:x=%.2fn",-c/b); elseif(a!=0&&d==0) printf("方程有两个相同实根:x1=x2=%.2fn",-b/(2*a)); elseif(a!=0&&d>0) printf("方程有两个不同实根:x1=%.2fx2=%.2fn",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)); elseif(a!=0&&d
页:
[1]