首页 > 试题广场 >

计算三角形的周长和面积

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

数据范围:

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


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

输入

3 3 3

输出

circumference=9.00 area=3.90
#include <math.h>
#include <stdio.h>

int main() {
    float a,b,c,p,s;
    scanf("%f %f %f",&a,&b,&c);
    //海伦公式
    p = (a+b+c) / 2;
    s = sqrt(p * (p-a) * (p-b)*(p-c));
    printf("circumference=%.2f area=%.2f",a+b+c,s);
    return 0;
}
数学不太好,没学过这个海伦公式
发表于 2025-06-16 18:09:48 回复(1)
    float a = 0;
    float b = 0;
    float c = 0;

    scanf("%f %f %f",&a,&b,&c);
    float C = 0;
    float S = 0;
   
    if(a>0 && b >0 && c> 0 && a+b>0 && a+c>0 && b+c>0)
    {
        float p = (a+b+c)/2;
        C = a + b +c;
        S = sqrt(p *(p-a)*(p-b)*(p-c));
        printf("circumference=%0.2f area=%0.2f",C,S);
    }
    return 0;
}
发表于 2025-03-21 23:47:59 回复(0)
#include <stdio.h>
#include <math.h>

int main() {
    float a, b, c, t, s;
    scanf("%f %f %f", &a, &b, &c);
    s = (a + b + c) / 2.0;
    t = sqrt(s * (s - a) * (s - b) * (s - c));
    printf("circumference=%.2f area=%.2f", a + b + c, t);
    return 0;
}
发表于 2024-12-06 18:03:37 回复(0)

include <math.h>

include <stdio.h>

int main()
{
float a=0.0;
float b=0.0;
float c=0.0;
float area=0.0;
float cir=0.0;
scanf("%f %f %f",&a,&b,&c);
cir=a+b+c;
area=sqrt(cir/2(cir/2-a)(cir/2-b)*(cir/2-c));
printf("circumference=%.2f area=%.2f",cir,area);
return 0;
}

发表于 2024-08-12 12:43:03 回复(0)
int main() {
    double a, b, c, p, s;
    scanf("%lf%lf%lf", &a, &b, &c);

    //海伦公式
    p = (a + b + c) / 2;
    s = sqrt(p * (p - a) * (p - b) * (p - c));

    printf("circumference=%.2lf area=%.2lf", p * 2, s);
    
    return 0;
}

发表于 2024-07-22 20:02:25 回复(0)
#include <stdio.h>
#include <math.h>
int main() {
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    float C=a+b+c;
    float s=C/2.0;
    float S=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("circumference=%.2f area=%.2f",C,S);
    return 0;
}
发表于 2024-07-20 08:14:34 回复(0)
#include <stdio.h>
#include "math.h"
int main() {
   double a = 0;
   double b = 0;
   double c = 0;
   double p = 0;
   double circumference = 0;
   double area = 0;
   scanf("%lf %lf %lf",&a,&b,&c);
   if(a + b > c && a - b < c){
        p = (a +b +c)*0.5;
        circumference = a + b + c;
        area = sqrt(p*(p - a)*(p - b)*(p - c));
   }
   else{
    return 1;
   }
   printf("circumference=%.2f area=%.2f",circumference,area);
    return 0;
}
发表于 2024-05-10 16:23:51 回复(0)
#include <stdio.h>

#include <math.h>
int main()
{
	double a = 0, b = 0, c = 0;
	scanf("%lf %lf %lf", &a, &b, &c);
	if ((a > 0 && a <= 100000) && (b > 0 && b <= 100000) && (c > 0 && c <= 100000))
	{
		if (a + b > c && a + c > b && b + c > a)
		{
			double p = (a + b + c) / 2.0;
			double S = sqrt(p * (p - a) * (p - b) * (p - c));
			printf("circumference=%.2lf area=%.2lf", p * 2, S);
		}
	} 
	return 0;
}

编辑于 2024-03-29 00:41:47 回复(0)
int main() {
    double a, b,c;
    double circumference,area,s;
    scanf("%lf %lf %lf",&a,&b,&c);
    circumference = a+b+c;
    s= (a+b+c) / 2.0;
    area = sqrt(s * (s - a) * (s - b) * (s - c));//海伦公式
    printf("circumference=%.2lf area=%.2lf",circumference,area);
    return 0;
}
编辑于 2024-03-19 16:57:01 回复(0)
#include <stdio.h>
#include <math.h>

int main() {
    float a, b, c;
    float p, s;

    scanf("%f%f%f", &a, &b, &c);

    //海伦公式
    p = (a + b + c) / 2;
    s = (float)sqrt((double)(p * (p - a) * (p - b) * (p - c)));

    printf("circumference=%.2f area=%.2f", p * 2, s);
    
    return 0;
}

编辑于 2024-03-02 20:34:42 回复(0)
#include <stdio.h>
#include<math.h>
int main() {
    int a, b,c;
    scanf("%d%d%d",&a,&b,&c);
    double circumference=a+b+c;
    double area=sqrt(circumference/2 * (circumference/2 - a) * (circumference/2 - b) * (circumference/2 - c));
    printf("circumference=%0.2lf area=%0.2lf",circumference,area);
    return 0;
}
发表于 2024-01-12 09:52:01 回复(0)
#include <stdio.h>
#include<math.h>

int main() {
    float a[3];
    float p;
    scanf("%f %f %f", &a[0], &a[1], &a[2]);
    p = (a[0]+a[1]+a[2]) / 2;
    printf("circumference=%.2f", a[0]+a[1]+a[2]);
    printf(" ");
    printf("area=%.2f", sqrt(p*(p-a[0])*(p-a[1])*(p-a[2])));
    return 0;
}
编辑于 2024-01-03 09:31:33 回复(0)
#include<stdio.h>
#include<math.h>
int main()
{
    float a,b,c;
    scanf("%f %f %f",&a,&b,&c);
    if(a+b>c&&a+b>c&&b+c>a)
    {
    float C = a+b+c;
    float s = C/2;
    float area = sqrt(s*(s-a)*(s-b)*(s-c));
   
    printf("circumference=%.2f ",C);
    printf("area=%.2f\n",area);
    }else{
        printf("\n");}
   
    return 0;
}
发表于 2023-12-19 23:56:15 回复(0)
#include <stdio.h>
#include <math.h>
int main() {
    float a = 0;
    float b = 0;
    float c = 0;
    scanf("%f %f %f",&a,&b,&c);
    float cir = 0;
    float area = 0;
    cir = a + b + c;
    float i = cir/2;
    area = sqrt((i)*(i - a)*(i - b)*(i - c));
    printf("circumference=%.2f area=%.2f",cir,area);
    return 0;
}
发表于 2023-11-26 21:45:59 回复(0)
#include <stdio.h>
#include <math.h>

int main()
{
    double a = 0;
    double b = 0;
    double c = 0;
    double Z = 0;
    double S = 0;
    scanf("%lf %lf %lf", &a, &b, &c);
    Z = a + b + c;
    S = sqrt(Z / 2 * (Z / 2 - a) * (Z / 2 - b) * (Z / 2 - c));
    printf("circumference=%.2lf area=%.2lf", Z, S);
    return 0;
}

发表于 2023-10-23 00:28:40 回复(0)
//海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式。它是利用三角形的三条边的边长直接求三角形面积的公式。
//表达式为:S = √p(p - a)(p - b)(p - c)
//假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S = √p(p - a)(p - b)(p - c)
//
//而公式里的p为半周长(周长的一半):
//    a + b + c
//p = ————
//        2

#include<stdio.h>
#include<math.h>

double area(int a,int b,int c)
{
	double p = (a + b + c) / 2.00;
	double S = sqrt(p * (p - a) * (p - b) * (p - c));
	return S;
}

int main()
{
	int a = 0, b = 0, c = 0;		//三角形的三条边
	double s = 0.0, l = 0.0;

	scanf("%d %d %d", &a, &b, &c);

	while (1)
	{
		if (a + b > c && a + c > b && b + c > a)//两边之和大于第三边
		{
			//求面积
			s = area(a, b, c);
			//求周长
			l = a + b + c;
			break;
		}
		else
		{
			printf("您输入的边长,不满足三角形的条件,请重新输入");
		}
	}
	printf("circumference = %.2f area = %.2f\n", l, s);

	return 0;
}

发表于 2023-10-19 22:22:12 回复(0)
#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("circumference=%.2f area=%.2f",(float)(a+b+c),sqrt(((float)(a+b+c)/2.0)*((float)(a+b+c)/2.0-a)*((float)(a+b+c)/2.0-b)*((float)(a+b+c)/2.0-c)));
    return 0;
}
发表于 2023-10-03 22:21:28 回复(0)
#include <stdio.h>
//使用sqrt需要使用头文件
#include<math.h>
int main()
{
    int a=0;
    int b=0;
    int c=0;
    scanf("%d %d %d",&a,&b,&c);
    //判断是否是三角形
    if(a+b>c&&a+c>b&&b+c>a&&a-b<c&&a-c<b&&b-c<a)
    {
       float cir=a+b+c;
       float e=cir/2;
       //海伦公式
       float area=sqrt(e*(e-a)*(e-b)*(e-c));
       printf("circumference=%.2f area=%.2f\n",cir,area);
    }
    return 0;
    }
发表于 2023-09-01 09:25:33 回复(0)
#include <stdio.h>
#include <math.h>
int main() {
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    float p=(a+b+c)/2.0;
    double s=sqrt(p*(p-a)*(p-b)*(p-c));
    printf("circumference=%.2f area=%.2f",(float)(a+b+c),s);
    return 0;
}

发表于 2023-03-07 10:02:09 回复(0)