湖南師範大學2018年大學生程式設計競賽新生賽 C 小X的多邊形
阿新 • • 發佈:2019-02-15
題目描述
眾所周知的是,小X特別喜歡由線條組成的形狀,比如說凸多邊形,這一天小X正在紙上畫著喜歡的凸多邊形,這時候小Y走了過來,指著一張圖片上的多邊形,問小X知道這個圖形的面積麼,這可把小X難住了,聰明的你一定能夠幫助小X解決這個問題,對吧~輸入描述:
多邊形上最多有六個點,順時針or逆時針給定每個點座標(兩個整數表示),保證無多餘的點並且沒有點重複輸出描述:
輸出一個整數,表示凸多邊形的面積,結果四捨五入。
示例1輸入
3 0 0 1 0 2 2
輸出
1示例2
輸入
5 -4 -2 1 -3 3 2 -1 4 -4 2
輸出
35
程式碼:
#include <iostream> using namespace std; int main() { double s; int n, i, x[10], y[10]; cin>>n; for(i = 0; i < n; i++) { cin>>x[i]>>y[i]; } s = 0; for(i = 1; i < n - 1; i++) {/*計算面積*/ s += 1.0*((x[i]-x[0])*(y[i+1]-y[0])-(x[i+1]-x[0])*(y[i]-y[0]))/2; } printf("%.0lf\n", s+0.4); return 0; }