C++ 计算三角形周长和面积 - 牛客网 ACM 竞赛
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;
}
代码解释
- 首先包含必要的头文件,例如
bits/stdc++.h和stdio.h,并使用using namespace std;以简化代码。 - 定义三个变量
a、b、c来存储三角形的三边长度,使用cin从标准输入读取三个值。 - 计算三角形的半周长
p,公式为(a + b + c) / 2。 - 使用海伦公式计算三角形的面积
area,公式为sqrt(p * (p - a) * (p - b) * (p - c))。 - 使用
cout和printf输出三角形的周长和面积,保留两位小数。
常见错误
这段代码的问题是在计算三角形面积之前,先使用了变量 p 来计算了三角形的半周长,但是在计算 p 的时候,a、b、c 的值还没有被输入,所以 p 的计算结果是不正确的。正确的做法应该是先输入 a、b、c 的值,然后再计算半周长和三角形的面积。
修改后的代码
#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++ 代码计算三角形的周长和面积。需要注意的是,在编写代码时要仔细检查变量的定义和使用顺序,避免出现逻辑错误。
原文地址: https://www.cveoy.top/t/topic/crsy 著作权归作者所有。请勿转载和采集!