#include <math.h>
#include <stdio.h>
#include <stdlib.h>
float userinput( char prompt[ ] ) ; //Function Prototype
void root( float a, float b, float c) ;
int main( )
{
float a, b, c;
a= userinput( "Enter the value for a:" ) ; //Function Call
b= userinput( "Enter the value for b:" ) ;
c= userinput( "Enter the value for c:" ) ;
printf ( "The Equation you entered is \n %fx^2+%fx+%f=0\n " , a
, b
, c
) ; root( a, b, c) ;
return 0 ;
}
void root( float a, float b, float c)
{
float D, x, x1, x2, x3, x4;
D = b* b - 4 * a* c;
if ( D> 0 )
{
printf ( "There are two real roots, the roots are: " ) ; x1
= ( ( - b
+ ( sqrt ( D
) ) ) / ( 2 * a
) ) ; x2
= ( ( - b
- ( sqrt ( D
) ) ) / ( 2 * a
) ) ; printf ( "%.2f and %.2f" , x1
, x2
) ; }
if ( D== 0 )
{
printf ( "There is one real root, the root is: " ) ; x = ( ( - b) / ( 2 * a) ) ;
}
if ( D< 0 )
{
printf ( "There are two imaginary roots. The roots are: " ) ; }
}
float userinput( char prompt[ ] ) //Function definition
{
float answer;
int status;
do
{
status
= scanf ( "%f" , & answer
) ; if ( status!= 1 )
{
}
}
while ( status!= 1 ) ;
return answer;
}
I2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmZsb2F0IHVzZXJpbnB1dChjaGFyIHByb21wdFtdKTsgLy9GdW5jdGlvbiBQcm90b3R5cGUKdm9pZCByb290KGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IGMpOwoKaW50IG1haW4oKQp7CgogICAgZmxvYXQgYSxiLGM7CgogICAgYT11c2VyaW5wdXQoIkVudGVyIHRoZSB2YWx1ZSBmb3IgYToiKTsgLy9GdW5jdGlvbiBDYWxsCiAgICBiPXVzZXJpbnB1dCgiRW50ZXIgdGhlIHZhbHVlIGZvciBiOiIpOwogICAgYz11c2VyaW5wdXQoIkVudGVyIHRoZSB2YWx1ZSBmb3IgYzoiKTsKCiAgICBwcmludGYoIlRoZSBFcXVhdGlvbiB5b3UgZW50ZXJlZCBpcyBcbiVmeF4yKyVmeCslZj0wXG4iLCBhLCBiLCBjKTsKICAgIHJvb3QoYSwgYiwgYyk7CiAgICByZXR1cm4gMDsKfQoKdm9pZCByb290KGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IGMpCnsKICAgIGZsb2F0IEQseCx4MSx4Mix4Myx4NDsKICAgIEQgPSBiKmIgLSA0KmEqYzsKICAgIGlmKEQ+MCkKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ZigiVGhlcmUgYXJlIHR3byByZWFsIHJvb3RzLCB0aGUgcm9vdHMgYXJlOiAiKTsKICAgICAgICAgICAgeDEgPSAoKC1iKyhzcXJ0KEQpKSkvKDIqYSkpOwogICAgICAgICAgICB4MiA9ICgoLWItKHNxcnQoRCkpKS8oMiphKSk7CiAgICAgICAgICAgIHByaW50ZigiJS4yZiBhbmQgJS4yZiIgLHgxICwgeDIpOwogICAgICAgIH0KCiAgICBpZihEPT0wKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCJUaGVyZSBpcyBvbmUgcmVhbCByb290LCB0aGUgcm9vdCBpczogIik7CiAgICAgICAgICAgIHggPSAoKC1iKS8oMiphKSk7CiAgICAgICAgICAgIHByaW50ZigiJS4yZiIseCk7CiAgICAgICAgfQoKICAgIGlmKEQ8MCkKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ZigiVGhlcmUgYXJlIHR3byBpbWFnaW5hcnkgcm9vdHMuIFRoZSByb290cyBhcmU6ICIpOwogICAgICAgICAgICB4MyA9ICgoLWIvMiphKSsoc3FydChmYWJzKEQpKS8oMiphKSkpOwogICAgICAgICAgICBwcmludGYoIiUuMmZpIGFuZCAiLCB4Myk7CiAgICAgICAgICAgIHg0ID0gKCgtYi8yKmEpLShzcXJ0KGZhYnMoRCkpLygyKmEpKSk7CiAgICAgICAgICAgIHByaW50ZigiJS4yZmkiLCB4NCk7CiAgICAgICAgfQp9CgpmbG9hdCB1c2VyaW5wdXQoY2hhciBwcm9tcHRbXSkgLy9GdW5jdGlvbiBkZWZpbml0aW9uCnsKICAgIGZsb2F0IGFuc3dlcjsKICAgIGludCBzdGF0dXM7CiAgICBkbwogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCIlcyIscHJvbXB0KTsKCiAgICAgICAgICAgIHN0YXR1cz1zY2FuZigiJWYiLCAmYW5zd2VyKTsKICAgICAgICAgICAgaWYoc3RhdHVzIT0xKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGZmbHVzaChzdGRpbik7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJJTlBVVCBFUlJPUiFcbiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KICAgIHdoaWxlKHN0YXR1cyE9MSk7CgogICAgcmV0dXJuIGFuc3dlcjsKfQoKCg==