C Program also avilable as C Program to Find Roots of a Quadratic Equation
import java.io.*; class Quad { public static void main(String args[]) throws IOException { int a,b,c; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a,b,c values: "); a= Integer.parseInt(br.readLine()); b= Integer.parseInt(br.readLine()); c= Integer.parseInt(br.readLine()); if((a==0)&&(b==0)&&(c==0)) { System.out.println("Enter atleast two non-zero co-efficients"); } else { float r1=0,r2=0; if(a==0) { r1= (float)-c/b; System.out.println("The roots are:"+r1); } else { float d=(b*b)-(4*a*c); if(d<0) { System.out.println("Roots are imaginary"); float real=(float)(-b)/(2*a); float img=(float)(Math.sqrt(Math.abs(d)))/(2*a); System.out.println("r1="+real+"+i"+img); System.out.println("r2="+real+"-i"+img); } else { r1=(float)(-b+Math.sqrt(d))/(2*a); r2=(float)(-b-Math.sqrt(d))/(2*a); if(d==0) { System.out.println("Roots are real and equal"); } else { System.out.println("Roots are real and different"); } System.out.println("r1="+r1); System.out.println("r2="+r2); } } } } }
OUTPUT:
Enter a,b,c values: 1 4 1 Roots are real and different r1= -0.2679492 r2= -3.732051