1 条题解

  • 0
    @ 2025-11-30 16:26:39

    C :

    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    int sf(double a,double b,double c)
    {
        double i;
        i=(b*b+a*a-c*c)/(2*b*a);
        if(i>(-1)&&i<1) return 1;
        else return 0;
    }
    double mj(double a,double b,double c)
    {
        double p,m;
        p=(a+b+c)/2;
        m=sqrt(p*(p-a)*(p-b)*(p-c));
        return m;
        
    }
    int main()
    {
        double a,b,c;
      //  scanf("%lf%lf%lf",&a,&b,&c);
       while(scanf("%lf%lf%lf",&a,&b,&c)==3)
        {
        if(sf(a,b,c)) printf("%.3lf",mj(a,b,c));
        else printf("data error!");
        printf("\n");
        }
          return 0;      
    }
    

    C++ :

    	#include<iostream>
    	#include<cstdio>
    	#include<cmath>                                   
    	using namespace std;
    	double area(double,double,double);
    	int main()
    	{
    	    for (int i=1; i<11; i++)
    	    {
    	        double a,b,c;
    	        //cout<<"input a,b,c"<<endl;
    	        cin>>a>>b>>c;
    	        if ((a+b<=c)||(a+c<=b)||(b+c<=a))       
    	        cout<<"data error!"<<endl; 
    	        //判断三角形是否合法
    	        else  printf("%0.3f\n",area(a,b,c));
    	    }
    	    return 0;
    }
    
    double area(double a,double b,double c)  //此函数为 海伦-秦九韶公式
    {
        double p=(a+b+c)/2;
        return sqrt(p*(p-a)*(p-b)*(p-c));
    }
    
    
    • 1

    信息

    ID
    1244
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者