1 条题解

  • 0
    @ 2026-2-10 16:08:45

    C :

    #include<stdio.h>
    int main()
    {
       float a,b,c,x1,x2,delt;
       scanf("%f%f%f",&a,&b,&c);
       if(a==0)
       {
       	  if(b==0)
       	  {
       	  	 printf("No\n"); 
    	  }
       	  else
       	  {
       	  	 x1=-c/b;
       	  	 printf("%f\n",x1);
    	  }
       }
       else
       {
       	  delt=b*b-4*a*c;
       	  if(delt>0)
       	  {
       	  	 x1=(-b+sqrt(delt))/(2*a);
       	  	 x2=(-b-sqrt(delt))/(2*a);
       	  	 if(x1>x2)
       	  	 {
       	  	 	  printf("%f\n",x1);
       	  	 	  printf("%f\n",x2);
    		 }
       	  	 else
       	  	 {
       	  	 	  printf("%f\n",x2);
       	  	 	  printf("%f\n",x1);
    			  }
    	  }
    	  else if(delt==0)
    	  {
    	  	 x1=-b/(2*a);
    	  	 printf("%f\n",x1);
    	  }
    	  else
    	  {
    	  	 printf("No\n");
    	  }
       }
    } 
    

    C++ :

    #include<stdio.h>
    #include<iostream>
    #include<math.h>
    using namespace std;
    int main()
    {
    	float a,b,c,delta;
    	float x1,x2;
    	cin>>a>>b>>c;
    	delta= b*b-4*a*c;
    	if(a==0 && b==0)
    	{
    		cout<<"No"<<endl;
    	}
    	else if(a==0 && b!=0)
    	{
    		printf("%.6f\n",-c*1.0/b);
    	}
    	else
    	{
    		if (delta>0)
    		{
    			x1 = (-b+sqrt(delta))/(2*a*1.0);
    			x2 = (-b-sqrt(delta))/(2*a*1.0);
    			if(x1>x2)
    			{
    				printf("%.6f\n%.6f\n",x1,x2);
    			}
    			else if(x2>x1)
    			{
    				printf("%.6f\n%.6f\n",x2,x1);
    			}
    			else
    			{
    				printf("%.6f\n",x1);
    			}
    		}
    		else if ( delta == 0)
    		{
    			x1 =(-b)/(2*a*1.0);
    			x2 = x1;
    			printf("%.6f\n",x1);
    		
    		}
    		else
    		{
    			cout<<"No"<<endl;
    		}
    	}
    	return 0;
    
    }
    

    Java :

    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            double a = sc.nextDouble();
            double b = sc.nextDouble();
            double c = sc.nextDouble();
            if (a==0){
                if (b==0){
                    System.out.println("No");
                }else{
                    System.out.printf("%.6f\n",-c/b);
                }
            }else {
                double d = b*b-4*a*c;
                if (d<0){
                    System.out.println("No");
                }else if (d==0){
                    System.out.printf("%.6f\n",-b/(2*a));
                }else{
                    double x1 = (-b+Math.sqrt(d))/(2*a);
                    double x2 = (-b-Math.sqrt(d))/(2*a);
                    x1 = (float)x1;
                    x2 = (float)x2;
                    if (x1>x2){
                        System.out.printf("%.6f\n",x1);
                        System.out.printf("%.6f",x2);
                    }else{
                        System.out.printf("%.6f\n",x2);
                        System.out.printf("%.6f",x1);
                    }
                }
            }
        }
    }
    
    

    Python :

    # coding=utf-8
    #python2
    a,b,c = map(float,raw_input().split())
    if a == 0 and b == 0:
        print("No")
    if a == 0 and b != 0:
        x = -c/b
        print('%.6f'%x)
    if a !=0:
        d = b*b-4*a*c
        if d < 0:
            print("No")
        if d == 0:
            x = -b/(2*a)
            print('%.6f' % x)
        if d > 0:
            x1 = (-b + d ** 0.5)/(2*a)
            x2 = (-b - d ** 0.5)/(2*a)
            print('%.6f'%x1)
            print('%.6f'%x2)
    
    • 1

    信息

    ID
    32
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者