C++ 计算三角形周长和面积

本题要求根据给定的三角形三边长度,计算并输出三角形的周长和面积。

题目描述 根据给出的三角形3条边a, b, c,计算三角形的周长和面积。

数据范围 0<a,b,c≤100000

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

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

示例

输入 3 4 5

输出 circumference=12.00 area=6.00

代码示例

#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;

int main(){
    double a, b, c;
    cin >>a >>b >>c;
    double p=(a+b+c)/2;
    double area=sqrt(p*(p-a)*(p-b)*(p-c));
    cout 'circumference=';
    printf("%.2lf",a+b+c);
    cout ' ' 'area=';
    printf("%.2lf",area);

    return 0;
}

代码解释

  1. 首先包含必要的头文件,例如 bits/stdc++.hstdio.h,并使用 using namespace std; 以简化代码。
  2. 定义三个变量 abc 来存储三角形的三边长度,使用 cin 从标准输入读取三个值。
  3. 计算三角形的半周长 p,公式为 (a + b + c) / 2
  4. 使用海伦公式计算三角形的面积 area,公式为 sqrt(p * (p - a) * (p - b) * (p - c))
  5. 使用 coutprintf 输出三角形的周长和面积,保留两位小数。

常见错误

这段代码的问题是在计算三角形面积之前,先使用了变量 p 来计算了三角形的半周长,但是在计算 p 的时候,abc 的值还没有被输入,所以 p 的计算结果是不正确的。正确的做法应该是先输入 abc 的值,然后再计算半周长和三角形的面积。

修改后的代码

#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;

int main(){
    double a, b, c;
    cin >>a >>b >>c;
    double p=(a+b+c)/2;
    double area=sqrt(p*(p-a)*(p-b)*(p-c));
    cout 'circumference=';
    printf("%.2lf",a+b+c);
    cout ' ' 'area=';
    printf("%.2lf",area);

    return 0;
}

总结

通过以上代码示例和解释,我们可以更好地理解如何使用 C++ 代码计算三角形的周长和面积。需要注意的是,在编写代码时要仔细检查变量的定义和使用顺序,避免出现逻辑错误。

C++ 计算三角形周长和面积 - 牛客网 ACM 竞赛

原文地址: https://www.cveoy.top/t/topic/crsy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录