c语言:有4个圆塔,已知圆心和半径,塔以外无建筑物。输入任一点坐标,求该点的建筑高度
2016-05-29 13:39
731 查看
有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为0)
解:程序:
#include<stdio.h>
int main()
{
int h=10;
float x1 = 2, y1 = 2, x2 = -2, y2 = 2, x3 = -2, y3 = -2, x4 = 2, y4 = -2, x, y, d1, d2, d3, d4;
printf("请输入1个点(x,y):");
scanf("%f,%f",&x,&y);
d1 = (x - x1)*(x - x1) + (y - y1)*(y - y1);
d2 = (x - x2)*(x - x2) + (y - y2)*(y - y2);
d3 = (x - x3)*(x - x3) + (y - y3)*(y - y3);
d4 = (x - x4)*(x - x4) + (y - y4)*(y - y4);
if (d1 > 1&& d2 > 1 && d3 > 1 && d4 > 1)
{
h = 0;
}
printf("该点高度为:%d\n",h);
return 0;
}
结果1:
请输入1个点(x,y):2,2
该点高度为:10
请按任意键继续. . .
结果2:
请输入1个点(x,y):0.6,0.9
该点高度为:0
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1741422
解:程序:
#include<stdio.h>
int main()
{
int h=10;
float x1 = 2, y1 = 2, x2 = -2, y2 = 2, x3 = -2, y3 = -2, x4 = 2, y4 = -2, x, y, d1, d2, d3, d4;
printf("请输入1个点(x,y):");
scanf("%f,%f",&x,&y);
d1 = (x - x1)*(x - x1) + (y - y1)*(y - y1);
d2 = (x - x2)*(x - x2) + (y - y2)*(y - y2);
d3 = (x - x3)*(x - x3) + (y - y3)*(y - y3);
d4 = (x - x4)*(x - x4) + (y - y4)*(y - y4);
if (d1 > 1&& d2 > 1 && d3 > 1 && d4 > 1)
{
h = 0;
}
printf("该点高度为:%d\n",h);
return 0;
}
结果1:
请输入1个点(x,y):2,2
该点高度为:10
请按任意键继续. . .
结果2:
请输入1个点(x,y):0.6,0.9
该点高度为:0
请按任意键继续. . .
本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1741422
相关文章推荐
- c语言:键盘上回车的作用相当于\n,是一个字符
- c语言:全系1000学生募捐,总数达到10万元结束,统计捐款人数,平均每人捐款数目
- c语言:输出100~200之间的不能被3整除的数。
- c语言:break和continue的区别,编程举例说明
- c语言:求π的近似值
- c语言:新颖的进制灵活应用
- c语言:判断一个整数是不是2的整数次方
- c语言:输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n
- c语言:写一个函数,输入n,求斐波拉契数列的第n项(5种方法,层层优化)
- c语言:从标准输入读取几行输入,输入打印到标准输出上,加上行号
- c语言:编写折半查找函数
- c语言:创建一个数组,分别实现函数初始化数组、 清空数组、数组元素的逆置
- C语言:VS环境下的程序调试快捷键
- c语言:输出一个数组,判断是否存在问题,若有,请找出问题并改正
- c语言:宏的使用举例
- c语言:宏里面参数不加括号容易出错,在使用时尽量加括号及举例
- c语言:printf可以自动把两个字符串合并成一个字符串,并且可以合并多个
- c语言:#和##的区别及作用
- c语言:两种方法实现字符串拷贝strcpy
- C语言:VS环境下的程序快捷键大全以及Windows快捷键命令