meili 发表于 2022-10-27 15:25:19

【编写程序,求一元二次方程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]
查看完整版本: 【编写程序,求一元二次方程ax2+bx+c=0的根(保留2位小数).系数a、b、c为浮点数,其值在运行时由键盘输入.【运行结果】(运行6次,□表示空格,↙表示回车)输入一元二次方程的系数a,b,c:0□0□0】