注册 登录
编程论坛 VC++/MFC

一个简单的一元二次方程计算器编译错误

ly1599285982 发布于 2014-11-13 20:26, 601 次点击
# include <stdio.h>
# include <math.h>

int main (void)
{
 //把三个系数保存到计算机中
 int a = 1; //=不表示相等,表示赋值
 int b = 2;
 int c = 3;
 double delta;
 double x1;
 double x2;

 delta = b*b - 4*a*c;

 if (delta>0)

 {
 x1 = (-b + sqrt(delta)) / (2*a);
 x2 = (-b - sqrt(delta)) / (2*a);
 printf("该一元二次方程有两个解,x1 = %f, x2 = %f\n", x1, x2);
 }

 else if (delta == 0)

 {
 x1 = (-b) / (2*a);
 x2 = x1;
 printf("该一元二次方程有一个唯一解,x1 = x2 = %f\n, x1);
 }
 
 else
     
 {
     printf("无解\n");
 }
 
 return 0;
}



那位大神帮忙看看错在哪里
4 回复
#2
天使梦魔2014-11-14 11:53
首先,你确定这是一元二次?BxB-4xAxC=X
其次,你确定这种方程当X不为0的时候只有2个有理数的解?它的解不是范围型的吗?
#3
月光小子2014-11-14 16:52
没什么大问题啊,一些标点符号搞错了而已,if (delta>0)这里的大于符号用的是中文的,改成英文的。printf("该一元二次方程有一个唯一解,x1 = x2 = %f\n, x1);这里少了半边“
#4
sccer2014-11-17 16:37
printf("该一元二次方程有一个唯一解,x1 = x2 = %f\n, x1);
少了个 " 号
#5
开心小飞炉2014-11-17 20:17
顶3,4楼,编程无大问题,按照3,4楼程序运行结果无解
1