##タイトル:2次方程式の根を求めます(25ポイント)

#include <stdio.h>
#include <math.h>
int  main (void)
{   	double a,b,c,d,e,x1,x2;   
 	scanf("%lf %lf %lf",&a,&b,&c);  
  	 d=b*b-4*a*c;  
  	  if (d>0)  
  	  {    	if(a==0)     
  	    	 x1=-c/b;printf("%.2lf\n",x1);    
  	         if (a!=0)    
  	             {   x1=(-b+sqrt(d))/(2*a);       
  	                  x2=(-b-sqrt(d))/(2*a);            
  	                  printf("%.2lf\n%.2lf\n",x1,x2);    
  	             }   
  	  }   
  	  else if (d==0)  
  	  { 	  if (a==0&&b==0&&c==0)     
  	        	 printf("Zero Equation\n");   
  	          else if(a==0&&b==0&&c!=0)   
  	          	  printf("Not An Equation\n");     
  	          else     
  	                 {  
                             x1=-b/(2*a);     
  	                    printf("%.2lf\n",x1);
  	                 }   
  	    }   
  	    else  
  	       {   if (a!=0)        
  	       		    if(b==0)       
  	       		       {
                                x1=sqrt(-d)/(2*a);         
  	       		        x2=sqrt(-d)/(2*a);            
  	       		        printf("0.00+%.2lfi\n0.00-%.2lfi\n",x1,x2); 
  	         		}	 		 			  			                                                            
  	       		      else        
  	       		        {
                                  x1=sqrt(-d)/(2*a);       
  	       		          e=-b/(2*a);        
  	       		          x2=sqrt(-d)/(2*a);             		
  	       		          printf("%.2lf+%.2lfi\n%.2lf-%.2lfi\n",e,x1,e,x2);   
  	       		                   			          
  	       		         }  
  	      	}
  	return 0;
}


 

 

 この質問では、1つの未知数に2次方程式の根が必要であり、結果は小数点以下2桁になります。
入力形式:
3つの浮動小数点係数a、b、cをスペースで区切って1行で入力します。
出力形式:
係数に応じて、異なる結果が出力されます
  。1)方程式に2つの等しくない実根がある場合、1行ごとに1つの根が出力され、最初に大きく、次に小さくなります
  。2)方程式に2つの等しくない複素根がある場合、それぞれこの行は、「実数部+虚数部i」の形式に従って根を出力し、最初に虚数部を正として出力し、次に虚数部を負として出力します
 。3)方程式に根が1つしかない場合は、この根を直接出力します
 。4)係数がすべての場合0の場合は「ゼロ方程式」を出力し、
 5)aとbが0でcが0でない場合は「方程式でない」を出力します。
 
入力例1:
2.1 8.9 3.5

出力例1:
-0.44
-3.80

入力例2:
1 2 3
出力例2:-1.00
+ 1.41i
-1.00-1.41i
入力例3:
0 2 4
出力例3:
-2.00
入力例4:
0 0 0
出力例4 :
ゼロ方程式
入力例5:
0 0 1
出力例5:
非方程式
 

 

おすすめ

転載: blog.csdn.net/L_Z_jay/article/details/103751929