根据给出的三角形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; }