陣列B - 我想我需要一艘船屋
阿新 • • 發佈:2019-01-09
【題目大意】弗雷德先生正在考慮在路易斯安娜州買一塊地造房子,在土地調查中,他了解到由於密西西比河的侵蝕,路易斯安那州正以每年50平方英里的速度變小。弗雷德先生想知道他買的那塊地是否會被侵蝕掉,經過進一步的研究,弗雷德先生髮現將要被侵蝕的土地為半圓形,半圓是一個以(0,0)為中心的圓的一半,半圓的直邊是x軸。x軸以下的部分在水中,第一年開始時,圓的面積是0,半圓如圖所示。第一行輸入一個整數n,表示有幾組測試資料,接下來有n行,每行是(x,y)的座標,弗雷德正在考慮地皮的位置,座標值是以英里為單位的浮點數,座標y不會為負數,這兩個數不會都為0,輸出經過多少年後,弗雷德的房子會被淹沒。
分析:
先計算半徑,再去計算面積,最後得出結果(年份)
程式碼:
#include<stdio.h> #include<math.h> int main() { int i = 1, n; int year; double x, y, r, area, pi =3.14; scanf("%d", &n); while(n--) { scanf("%lf %lf", &x, &y); r = x * x + y * y; area = pi * r / 2.0; year = (int)ceil(area / 50.0);//ceil函式是取整函式,捨去小數。 printf("Property %d:", i++); printf(" This property will begin eroding in year %d.\n", year); } printf("END OF OUTPUT.\n"); return 0; }
看懂題就好寫了,最後被一個空格個弄暈了。