#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
double a,b,c,x1,x2,temp;
scanf("%lf %lf %lf","a, b, c");
x1=(-b + sqrt(b*b-4*a*c))/(2*a);
x2 = (-b - sqrt(b*b-4*a*c))/(2*a);
printf("x1=%.5lf,x2=%.5f\n",x1,x2);
temp=b*b-4*a*c;
if(temp=0)
{
printf("x1=x2=%.5lf\n",x1,x2);
}
else if(temp>0)
{
printf("x1=%.5lf,x2=%.5lf",x1,x2);
}
else
{
printf("x1=-b/(2*a)+sqrt(4*a*c-b*b)/(2*a),x2=-b/(2*a)-sqrt(4*a*c-b*b)/(2*a)",);
}
return 0;
}
首先:你写的这句:scanf("%1f %1f %1f","a,b,c")应该改为scanf("%1f %1f %1f",&a,&b,&c)
其次:你的结构有问题,应该先判断b*b-4*a*c *大于0,而且根据不同的情况做不同的处理
http://blog.csdn.net/liuhenghui5201/article/details/7486258
if(temp=0)这里作为条件判断括号里面不能用temp=0应该改为temp==0,一个等号是赋值两个等号才是判断
大一刚入门,最好先学习下最基础的知识,再开始鲁代码