5月28日,我参加了青科赛......
像我这种蒟蒻......
也就290多分吧......
那么回到正题
我为什么要发这一篇文章呢?
首先,我要强调超前学习的重要性
为什么?
上原题:
题目描述
已知一个不规则三角形三边长a,b,c,求此三角形面积。
输入描述
共一行,三角形三边长a,b,c,中间用空格隔开。
输出描述
共一行,为此三角形的面积(误差不超过0.001)
什么?这么简单???
但!我只是一个初一的学生......
不规则三角形面积求法......
我似乎
本来就不会
我先尝试用直角三角形骗几个点:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;cin>>a>>b>>c;
if(c>a&&c>b)cout<<(float)a*b/2;
if(b>a&&b>c)cout<<(float)a*c/2;
if(a>b&&a>c)cout<<(float)b*c/2;
return 0;
}
那么结果呢?
测试点:共11个点,通过个数:0个
🙃🙃🙃
非常好的结果
经过我长达2.5h的推导,发现:还是WA。。。
那么
不规则三角形面积公式到底是什么???
额
这不是考我们的编程
而是数学吧
既然知道公式了,那么就好做了
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;cin>>a>>b>>c;
float p = (a+b+c)/2;
//S=√[p(p-a)(p-b)(p-c)]
float s = sqrt(p*(p-a)*(p-b)*(p-c));
cout<<s;
return 0;
}
至于这是几年级要学的知识我也不知道
但是,超前学习真的很重要!不然就如我这个蒟蒻一样🙃🙃😅