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;
}