鱼C论坛

 找回密码
 立即注册
查看: 3375|回复: 3

怎么这个算出来的是错的

[复制链接]
发表于 2012-7-1 19:18:39 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
}
这个算出来的怎么是错的啊!!!!!!!!!!!!!!!!!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-1 20:21:17 | 显示全部楼层
没有判断方程是不是有实数根
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-2 01:38:35 | 显示全部楼层
不懂。  帮顶了。。。   
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-2 12:19:42 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include<stdlib.h>

  4. void main()
  5. {
  6.         double a,b,c,disc,x1,x2,p,q;
  7.         printf("a=");
  8.         scanf("%lf",&a);
  9.         printf("b=");
  10.         scanf("%lf",&b);
  11.         printf("c=");
  12.         scanf("%lf",&c);

  13.         disc=b*b-4*a*c;                       
  14.         p=-b/(2*a);                                       
  15.         q=sqrt(disc)/(2*a);                //需要进行判定 分别判定 判别式 大于 0   等于0   小于0  这三种情况
  16.         if(disc>0)
  17.         {
  18.                 x1=p+q;
  19.                 x2=p-q;
  20.         }
  21.         else if(disc==0)
  22.         {
  23.                 x1=x2=p;
  24.         }
  25.         else
  26.         {
  27.                 printf("方程没有实数根\n");      
  28.                 exit(0);
  29.         }
  30.         printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
  31. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 23:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表