#3321: 請問用c語言寫出,哪裡出錯了??


feeling006 (zerg)

學校 : 不指定學校
編號 : 10631
來源 : [58.99.21.57]
最後登入時間 :
2010-01-26 14:05:47
a006. 一元二次方程式 | From: [58.99.21.57] | 發表日期 : 2010-01-24 21:19

#include <stdio.h>
#include <math.h>
int main (void){
 int a,b,c;
 double x1,x2;
 while(scanf("%d %d %d",&a,&b,&c)!=EOF){

x1=(-b+sqrt(b*b-4ac))/2a;
x2=(-b-sqrt(b*b-4ac))/2a;

if(x1!=x2){
printf("Two different roots x1=%f , x2=%f ",x1,x2);
}else if(x1==x2){
printf("Two same roots x=%f ",x1);
}else if(b*b-4ac<0){
printf("No real root");
}
 
}
return 0;
#3322: Re:請問用c語言寫出,哪裡出錯了??


feeling006 (zerg)

學校 : 不指定學校
編號 : 10631
來源 : [58.99.21.57]
最後登入時間 :
2010-01-26 14:05:47
a006. 一元二次方程式 | From: [58.99.21.57] | 發表日期 : 2010-01-24 21:47

#include <stdio.h>
#include <math.h>
int main (void){
 int a,b,c;
 int x1,x2,q;
 while(scanf("%d %d %d",&a,&b,&c)!=EOF){

q=sqrt(b*b-4*a*c);
x1=(-b+q)/(2*a);
x2=(-b-q)/(2*a);

if(b*b-4*a*c<0){
printf("No real root");
}else if(x1!=x2){
printf("Two different roots x1=%d , x2=%d ",x1,x2);
}else if(x1==x2){
printf("Two same roots x=%d ",x1);
}
 
}
return 0;

###正確解答~~

 
ZeroJudge Forum