信息学奥赛一本通 2073:【例2.16 】三角形面积
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 2073:【例2.16 】三角形面积
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目鏈接】
ybt 2073:【例2.16 】三角形面積
【題目考點(diǎn)】
1. 算術(shù)應(yīng)用題
2. 海倫公式求三角形面積
3. 輸出浮點(diǎn)數(shù)a保留x位小數(shù)
printf(%.xf, a);
cout<<fixed<<setprecision(x)<<a;
4.求開(kāi)根號(hào)
在引入<cmath>后,可以調(diào)用函數(shù)double sqrt(double x),對(duì)數(shù)x開(kāi)根號(hào)
【解題思路】
- 先輸入三條邊長(zhǎng)a,b,c
- 求出p,p=a+b+c2p = \frac{a + b + c}{2}p=2a+b+c?
- 再求面積s=p(p?a)(p?b)(p?c)s = \sqrt{p(p-a)(p-b)(p-c)}s=p(p?a)(p?b)(p?c)?
- 輸出時(shí)注意保留3位小數(shù)
【題解代碼】
解法1:用cin, cout
#include <bits/stdc++.h> using namespace std; int main() {double a, b, c, p;cin >> a >> b >> c;p = (a+b+c)/2;cout << fixed << setprecision(3) << sqrt(p*(p-a)*(p-b)*(p-c));return 0; }解法2:用scanf,printf
#include <bits/stdc++.h> using namespace std; int main() {double a, b, c, p;scanf("%lf %lf %lf", &a, &b, &c); p = (a+b+c)/2;printf("%.3f", sqrt(p*(p-a)*(p-b)*(p-c)));return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 2073:【例2.16 】三角形面积的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信息学奥赛一本通(1130:找第一个只出
- 下一篇: 信息学奥赛一本通(1255:迷宫问题)