数组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;
}

  看懂题就好写了,最后被一个空格个弄晕了。

猜你喜欢

转载自www.cnblogs.com/zw431387/p/10247416.html