首页 > 试题广场 >

计算三角形的周长和面积

[编程题]计算三角形的周长和面积
  • 热度指数:55554 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
根据给出的三角形3条边a, b, c,计算三角形的周长和面积。

数据范围:

输入描述:
一行,三角形3条边(能构成三角形),中间用一个空格隔开。


输出描述:
一行,三角形周长和面积(保留两位小数),中间用一个空格隔开,输出具体格式详见输出样例。
示例1

输入

3 3 3

输出

circumference=9.00 area=3.90
import java.util.Scanner;
import java.lang.Math;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
double a = in.nextInt();
double b = in.nextInt();
double c = in.nextInt();
double p = (a + b + c) / 2;
double s = Math.sqrt(p * (p - a) * (p - b) * (p - c));

System.out.printf("circumference=%.2f area=%.2f", a + b + c, s);
}
}
}
发表于 2022-10-25 20:48:14 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt(),c=sc.nextInt();
        double p=(a+b+c)/2.00;
        double area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
        System.out.printf("circumference=%.2f area=%.2f",(float)(a+b+c),area);
    }
}

发表于 2022-08-11 20:17:29 回复(0)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //String[] tripleSideArr = scanner.nextLine().split(" ");
        double triSide1 = scanner.nextDouble();
        double triSide2 = scanner.nextDouble();
        double triSide3 = scanner.nextDouble();
        if(triSide1 + triSide2 > triSide3 && triSide1 + triSide3 > triSide2 && triSide2 + triSide3 > triSide1){
            double Circumference = triSide1 + triSide2 + triSide3;
            double p = Circumference / 2;
            double Area = Math.sqrt(p * (p - triSide1) * (p - triSide2) * (p - triSide3));
            System.out.println("circumference=" + String.format("%.2f",Circumference) + " " + "area=" + String.format("%.2f",Area));
        }else{
            System.out.println("It's can't be a triangle!");
        }
        
    }
}

发表于 2022-06-23 17:00:16 回复(0)
import java.util.*;
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();
        double C = a + b + c;
        double p = C / 2;
        double S = Math.sqrt(p * (p - a) * (p - b) * (p - c));
        System.out.print("circumference=");
        System.out.printf("%.2f", C );
        System.out.printf(" area=");
        System.out.printf("%.2f", S);

    }
}

发表于 2022-06-14 15:58:26 回复(0)
import java.util.*;
public class Main
{
    public static double getarea(double a,double b,double c){
        double p=(a+b+c)/2;
        return Math.sqrt(p*(p-a)*(p-b)*(p-c));
    }
    public static double getcircumference(double a,double b,double c){
        return a+b+c;
    }
    public static void main(String [] args)
    {
        Scanner input=new Scanner(System.in);
        double x=input.nextDouble();
        double y=input.nextDouble();
        double z=input.nextDouble();
        System.out.print("circumference="+String.format("%.2f",getcircumference(x,y,z))+" "+"area="+String.format("%.2f",getarea(x,y,z)));
    }
}

发表于 2022-04-27 16:37:11 回复(0)
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Main td = new Main();

        System.out.print("circumference=" + td.getCircumference() + " area=" + td.getArea());
    }

    Scanner sc = new Scanner(System.in);
    double a = sc.nextDouble();
    double b = sc.nextDouble();
    double c = sc.nextDouble();
    double HL = 0.25 * Math.sqrt((a + b + c) * (a + b - c) * (a + c - b) * (b + c - a));
    double Ci = a + b + c;

    public String getCircumference() {
        return Decimal(Ci);
    }

    // S=1/4*sqrt[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
    public String getArea() {
        return Decimal(HL);
    }

    public String Decimal(double doub) {
        DecimalFormat df = new DecimalFormat("#0.00");
        String str = df.format(doub);
        return str;
    }
}

发表于 2022-04-09 10:04:02 回复(0)

海伦公式

import java.util.Scanner;

/**
 *
 * @Title           计算三角形的周长和面积
 * @Description    海伦公式
 * 根据给出的三角形3条边a, b, c,计算三角形的周长和面积。
 *
 * 数据范围: 0<a,b,c≤100000
 * @author weijunfu<ijunfu @ qq.com>
 * @date 2022/03/14 23:00
 * @version 1.0.0
 *
 */

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        double a = in.nextDouble();
        double b = in.nextDouble();
        double c = in.nextDouble();

        double sum = a + b + c;

        double l = sum/2;

        System.out.printf("circumference=%.2f area=%.2f", sum, Math.sqrt(l*(l-a)*(l-b)*(l-c)));

        in.close();
    }
}



发表于 2022-03-14 23:13:34 回复(0)
考查的是海伦好家伙刚开始真没看出来
发表于 2021-10-23 22:21:40 回复(0)
面积公式:
  • p*(p-a)*(p-b)*(p-c)开根号
  • p是周长的1/2
  • a,b,c是边长
发表于 2021-10-12 14:47:18 回复(0)
链接:https://www.nowcoder.com/questionTerminal/109a44d649a142d483314e8a57e2c710
来源:牛客网
使用海伦公式即可
public class Main{
    public static void main(String[] args){
        java.util.Scanner s = new java.util.Scanner(System.in);
        String length[] = s.nextLine().split(" ");
        double a = Double.parseDouble(length[0]);//a边长
        double b = Double.parseDouble(length[1]);//b边长
        double c = Double.parseDouble(length[2]);//c边长
        double p = a + b +c;//周长
        double area2 = p/2 * (p/2 - a) * (p/2 - b) * (p/2 - c);//面积的平方
        double area = Math.sqrt(area2);//开方得到面积
        System.out.println("circumference=" + String.format("%.2f",p) + " area=" + String.format("%.2f",area));//保留小数点后两位输出
    }
}
发表于 2020-10-29 23:32:16 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String[] str = sc.nextLine().split(" ");
        int a = Integer.parseInt(str[0]);
        int b = Integer.parseInt(str[1]);
        int c = Integer.parseInt(str[2]);
        if(a+b>c&&a+c>b&&b+c>a){
            double circumference = (double)(a+b+c);
            double p = (double)(a+b+c)/2;
            double area = Math.sqrt(p*(p-a)*(p-b)*(p-c));
            System.out.print("circumference="+String.format("%.2f",circumference)+" area="+String.format("%.2f",area));
        }
    }
}
发表于 2020-10-28 11:11:46 回复(0)
import java.util.Scanner;
public class Main{

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String[] s = sc.nextLine().split(" ");
        Double circumference = 0.0;
        Double area = 0.0;
        //海伦公式 p=(a+b+c)/2  area=sqrt(p*(p-a)*(p-b)*(p-c))
        Double p = 0.0;
        for(int i=0;i<3;i++){
            circumference += Double.valueOf(s[i]);            
        }
        p = circumference/2 ;
        area = Math.sqrt(p*(p-Double.valueOf(s[0]))*(p-Double.valueOf(s[1]))*(p-Double.valueOf(s[2])));
        System.out.println("circumference=" + String.format("%.2f",circumference) + " " + "area=" +String.format("%.2f",area));
    }

}

发表于 2020-10-27 00:10:17 回复(0)
import java.util.Scanner;

public class 计算三角形周长和面积 {
public static void main(String[] args) {
	Scanner scanner=new Scanner(System.in);
	while(scanner.hasNext()) {
		
		int a=scanner.nextInt();
		int b=scanner.nextInt();
		int c=scanner.nextInt();
if (a+b>c||a+c>b||b+c>a) {
float zhouchang=a+b+c;
System.out.print("circumference="+String.format("%.2f", zhouchang)+" ");
//S=(△)=√[p(p-a)(p-b)(p-c)] 
float p=zhouchang/2;
float mianji=(float) Math.sqrt(p*(p-a)*(p-b)*(p-c));
System.out.print("area="+String.format("%.2f", mianji));
}
	}
}
}

发表于 2020-07-19 22:39:57 回复(0)
import java.util.Scanner;

public class Main{

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        double a=scanner.nextDouble();
        double b=scanner.nextDouble();
        double c=scanner.nextDouble();
        double len=a+b+c;
        //海伦公式
        double p=(a+b+c)/2;
        double area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
        System.out.println("circumference=+"+String.format("%.2f",len)+" area="+String.format("%.2f",area));
    }


}
发表于 2020-03-22 14:17:53 回复(1)