1. 程式人生 > >陣列B - 我想我需要一艘船屋

陣列B - 我想我需要一艘船屋

【題目大意】弗雷德先生正在考慮在路易斯安娜州買一塊地造房子,在土地調查中,他了解到由於密西西比河的侵蝕,路易斯安那州正以每年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;
}

  看懂題就好寫了,最後被一個空格個弄暈了。