c语言练习:POJ 1005 我想我需要一艘船屋(I Think I Need a Houseboat)

题目相关信息

描述

弗雷德·马珀(Fred Mapper)正在考虑在路易斯安那州购买一些土地来建造他的房子。在调查这片土地的过程中,他了解到,由于密西西比河造成的侵蚀,路易斯安那州实际上每年都在缩小50平方英里。由于弗雷德希望一辈子都住在这所房子里,他需要知道他的土地是否会因侵蚀而消失。

在做了更多的研究之后,弗雷德了解到正在失去的土地形成了一个半圆形。这个半圆是以 (0,0) 为中心的圆的一部分,将圆平分的线是 X 轴。X 轴下方的位置在水中。半圆在第 1 年开始时的面积为 0。

输入

输入的第一行将是一个正整数,表示将包含多少个数据集 (N)。接下来的 N 条线将包含 Fred 正在考虑的土地的 X 和 Y 笛卡尔坐标。这些将是以英里为单位的浮点数。Y 坐标将为非负数。(0,0) 将不予给出。

输出

对于每个数据集,应显示一行输出。此行应采用以下形式:“属性 N:此属性将在 Z 年开始侵蚀。其中 N 是数据集(从 1 开始计数),Z 是第一年(从 1 开始),此属性将在半圆内 在年底 Z 内。 Z 必须是整数。在最后一个数据集之后,这应该打印出“输出结束”。

示例输入

2
1.0 1.0
25.0 0.0

示例输出

Property 1: This property will begin eroding in year 1.
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.

提示

1.No 属性将正好出现在半圆边界上:它要么位于内部,要么位于外部。
2.本题将自动判断。您的答案必须完全匹配,包括大小写、标点符号和空格。这包括行尾的句点。
3.所有地点均以英里为单位。

解题思路

初始化

定义整数(i, j, n, year)和浮点数(x, y, r, area, pi)变量。
i :用来追踪当前处理的“属性”的编号。
j :用作循环计数器。
n :要处理的“属性”的总数。
x 和 y 是每个“属性”的坐标。
r :存储距离的平方。
area :存储面积值。
pi 是一个近似的圆周率值。


输入

首先读取一个整数n,表示要处理的“属性”的数量。然后,对于每个“属性”,读取两个浮点数x和y。使用x和y的平方和来计算r,此处r是半径的平方。接着,使用r和pi来计算“面积”area,但这里的“面积”计算并不符合常规的几何定义,因为它只是r的一半乘以pi。


预测侵蚀开始年份

将“面积”area除以50.0,然后使用ceil函数向上取整得到year。


输出

对于每个“属性”,输出其编号和预测的侵蚀开始年份。最后,输出“END OF OUTPUT.”以表示输出结束。
 

代码

#include
#include
int main()
{
	int i=1,j,n;
	int year;
	double x,y,r,area,pi =3.14;
	scanf("%d", &n);
	for(j=0;j

代码参考自:http://t.csdnimg.cn/mT72w

这次就到这里了,与大家共勉。

你可能感兴趣的:(C语言入门,c语言)