a006

內容 :

求一元二次方程式 ax2+bx+c=0 的根

輸入說明 :

輸入三個整數 a, b, c

輸出說明 :

Two different roots x1=?? , x2=??

Two same roots x=??

No real root

PS: 答案均為整數,若有兩個根則大者在前

這題第一個重點就是要知道二元一次方程式的公式解,第二個重點是公式解會用到開根號,所以你會呼叫sqrt,因此要在程式的一開頭加上 #include <math.h>

#include<stdio.h>
#include <math.h>
int main()
{
    int a,b,c,temp;

    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {    
            if(b*b-4*a*c<0)
            {
                printf("No real root\n"); 
            }

            if(b*b-4*a*c==0)
            {
                printf("Two same roots x=%d\n",-b/(2*a));       
            }

            if(b*b-4*a*c>0)
            {
                temp=sqrt(b*b - 4*a*c);
                printf("Two different roots x1=%d , x2=%d\n",(-b+temp)/(2*a),(-b-temp)/(2*a));        
            }
    }
    return 0;        
}