代码改变世界

求解一元二次方程组

2013-12-03 14:47  css1993  阅读(259)  评论(0编辑  收藏  举报
#include<stdio.h> 
#include<math.h>
int main(void)
{
    int a,b,c;
    double x1,x2,s=0,n;
    while((b!=0)||(c!=0)){    
    scanf("%d%d%d",&a,&b,&c); 
    n=b*b-(4*a*c);
    if(a==0&&b==0&&c==0)
     break;
    
    if(n>0&&a!=0){
        s=sqrt(n)+s;
        x1=(-b+s)/(2*a);
        x2=(-b-s)/(2*a);
        printf("x1=%.6f x2=%.6f\n",x1,x2);
    }
    else if(a==0){
        printf("Error!\n");
    }
    else if(n==0&&a!=0){
        x1=x2=-b/(2*a);
        printf("x1=x2=%.6f\n",x1=x2);
    }    
    else{
       printf("No solution!\n");
    }
    }
  return 0;
}