为什么我输入“6 5 4”,输出不了啊
#include
#include
int main()
{
int a , b , c , i , j ;
double x1 , x2 , z ;
scanf( "%d %d %d" , &a , &b , &c ) ;
z = ( b * b ) - ( 4 * a * c ) ;
if( z > 0 )
{
x2 = ( -b + sqrt( z ) ) / ( 2 * a ) ;
x1 = ( -b - sqrt( z ) ) / ( 2 * a ) ;
printf( "x1=%.3f\nx2=%.3f" , x1 , x2 ) ;
}
if( z == 0 )
{
x1 = ( ( -b + sqrt( z ) ) / ( 2 * a ) ) ;
printf( "x1=x2=%.3f" , x1 ) ;
}
return 0 ;
if( z < 0 )
{
i = ( - b ) / ( 2 * a ) ;
j = sqrt( ( -z ) / ( 4 * a * a ) ) ;
if( i == 0 )
{
printf( "x1=-%.3f\nx2=%.3f" , j , j ) ;
}
else
{
printf( "x1=%.3f+%.3fi\nx2=%.3f-%.3fi" , i , j , i , j ) ;
}
}
return 0 ;
}
6 5 4就是无解,然而函数里边有两个return,遇到第一个return时,函数就返回了,不可能执行下面的代码,也就是说,无解时的代码不会被执行。请把第一个reu删除