根据给出的三角形3条边a, b, c,计算三角形的周长和面积。
数据范围: 
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));
}
}
#include<iostream>
#include<cmath>
#define PAI 3.1415926
using namespace std;
int main()
{
double a,b,c,cir,area,p;
scanf("%lf %lf %lf",&a,&b,&c);
cir=a+b+c;
p=cir/2;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("circumference=%.2lf area=%.2lf\n",cir,area);
return 0;
} #include<bits/stdc++.h>
using namespace std;
int main(){
double a, b, c;
cin >> a >> b >> c;
if((a + b > c) && (a + c > b) && (b + c > a)){
double C = a + b + c;
double S;
double p = (a + b + c) / 2;
S = sqrt((p * (p - a) * (p - b) * (p - c)));
cout << fixed << setprecision(2) << "circumference=" << C
<< fixed << setprecision(2) << " area=" << S << endl;
}
return 0;
} #include<stdio.h>
#include<math.h>
int main(void){
int a, b, c; // 用来存储三条边
float p, circumference = 0, area = 0; // p为中间变量,circumference为周长,area为面积
scanf("%d %d %d", &a, &b, &c); // 从键盘获取输入,存储到a/b/c中
circumference = a + b + c; // 计算三角形的周长
p = (a + b + c) / 2.0;
area = sqrt(p * (p-a) * (p-b) * (p-c)); // 根据海伦公式计算三角形的面积
printf("circumference=%.2f area=%.2f", circumference, area); // 打印三角形的周长和面积,保留2位小数
return 0;
}
这一题也是没啥难度的,主要注意面积公式底乘高除2是走不通的,那样编写复杂度太高,海伦公式就比较简单了,然后注意p可能为浮点数,所以设为float类型
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
float cir = a+b+c;
float p = cir/2;
float area = sqrt(p*(p-a)*(p-b)*(p-c));
printf("circumference=%.2f area=%.2f\n",cir,area);
return 0;
} t = input()
m = float(t.split(' ')[0])
n = float(t.split(' ')[1])
z = float(t.split(' ')[2])
cir = m + n + z
# 海伦公式
s = cir / 2
area= (s*(s-m)*(s-n)*(s-z)) ** 0.5
print('circumference=%.2f area=%.2f'%(cir, area))
(2)
m,n,z = input().split(' ')
m = float(m)
n = float(n)
z = float(z)
cir = m + n + z
# 海伦公式
s = cir / 2
area= (s*(s-m)*(s-n)*(s-z)) ** 0.5
print('circumference=%.2f area=%.2f'%(cir, area)) #include <stdio.h>
#include<math.h>
//三角形面积=根号下(p(p-a)(p-b)(p-c)),p=(a+b+c)/2
int main()
{
float a, b, c;
scanf("%f %f %f", &a, &b, &c);
float d = a + b + c;
float p = d / 2;
float s = sqrt((p) * (p - a) * (p - b) * (p - c));
//sqrt是头文件为#include<math.h>的求根函数
printf("circumference=%.2f area=%.2f", d, s);
return 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;
} #include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
int main(){
int a, b, c;
float cir, area;
cin >> a >> b >> c;
cir = a + b + c;
area = sqrt(cir/2 * (cir/2 - a) * (cir/2 -b) * (cir/2 -c));
cout << fixed << setprecision(2) << "circumference=" << cir << " area=" << area << endl;
return 0;
} #include<stdio.h>
#include<math.h>
int main()
{
double a=0.0;
double b=0.0;
double c=0.0;
double circumference=0.0;
double area=0.0;
scanf("%lf %lf %lf",&a,&b,&c);
if(((a+b)>c)&&((a-b)<c))
{
double p=(a+b+c)/2;
circumference=a+b+c;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("circumference=%.2f area=%.2f\n",circumference,area);
}
return 0;
}