‘壹’ 有4个圆塔,c语言设计
不对,你把“圆百”设计成“四棱柱度”了;“塔高10米”设计成3米了。
四个圆的方程如下,作判问决条件时为圆内阴影(<=):
1、(x-2)^答2+(y-2)^2=1
2、(x+2)^2+(y-2)^2=1
3、(x-2)^2+(y+2)^2=1
4、(x+2)^2+(y+2)^2=1
伪代码如版下:
#include<stdio.h>
void
main()
{
float
x,y;
scanf("f%,f%",&x,&y);
if(
((x-2)^2+(y-2)^2)<=1
||权
((x+2)^2+(y-2)^2)<=1
||
((x-2)^2+(y+2)^2)<=1
||
((x+2)^2+(y+2)^2)<=1
)
{
printf("height
is
10");
}
else
printf("height
is
0");
}
‘贰’ c语言:有4个圆塔,已知圆心和半径,塔以外无建筑物。输入任一点坐标,求该点的建筑高度。求流程图!!!
你这不是说点在这四个圆内,则该点的建筑高度为10m,
点在这四个圆外,则该点的建筑高度为0,
依次判断,该点到四个圆心的距离是不是小于1,
1,情况一,至少有一个距离小于1,则为10m;
2,情况二,一个距离小于1的也没有,则为0。
‘叁’ c语言问题(有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1,这4个塔的高度为10m
你试试这个程序,用的是数学上的一个结论。如果一个点不在圆内,那么这个点的值大于半径的平方。
#include<stdio.h>
void main()
{
int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2;
float x,y,d1,d2,d3,d4;
printf("input a point(x,y):\n");
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("the high of this point is:%d\n",h);
}
‘肆’ C++程序设计:有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。
#include<stdio.h>
#include<math.h>
intmain()
{
floatx,y,h;
printf("请分别输入xy坐标:");
scanf("%f%f",&x,&y);
printf("x=%.2fy=%.2f ",x,y);
if(x>=0&&y>=0){
if(pow(x-2,2)+pow(y-2,2)<=1)h=10;
elseh=0;
}
if(x>=0&&y<=0){
if(pow(x-2,2)+pow(y+2,2)<=1)h=10;
elseh=0;
}
if(x<=0&&y>=0){
if(pow(x+2,2)+pow(y-2,2)<=1)h=10;
elseh=0;
}
if(x<=0&&y<=0){
if(pow(x+2,2)+pow(y+2,2)<=1)h=10;
elseh=0;
}
printf("该点的建筑高度为%.4f ",h);
return0;
}
输入:1空格1
‘伍’ c语言 有4个圆塔 圆心
这很简单,其实就是让你计算所输入坐标是否落四个圆中。
设输入坐标为(x,y)
float s1,s2,s3,s4;
int h; // 建造高度
s1=(2-x)*(2-x)+(2-x)*(2-x);
s2=(2-x)*(2-x)+(-2-x)*(-2-x);
s3=(-2-x)*(-2-x)+(2-x)*(2-x);
s4=(-2-x)*(-2-x)+(-2-x)*(-2-x);
if((s1>=1)||(s2>=1)||(s3>=1)||(s4>=1))
h=10;
else
h=0;
‘陆’ C语言 四个圆塔那题,思路是什么我只想知道思路和其中的关系式,请帮忙……
#include<stdio.h>
#include<math.h>
constinttower_height=10;
boolis_circle_contain(doublepx,doublepy,doublecircle_x,doublecircle_y,doubleradius){
returnpow(fabs(px-circle_x),2)+pow(fabs(py-circle_y),2)<=pow(radius,2);
}
boolis_tower(doublepx,doublepy){
constintradius=1;
returnis_circle_contain(px,py,2,2,radius)
||is_circle_contain(px,py,-2,2,radius)
||is_circle_contain(px,py,2,-2,radius)
||is_circle_contain(px,py,-2,-2,radius);
}
intmain(){
doublex,y;
scanf("%lf%lf",&x,&y);
if(is_tower(x,y))
printf("%dm ",tower_height);
else
printf("0m ");
return0;
}
‘柒’ 有4个圆塔
main()
{
int h=10; /*定义塔高*/
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y2=-2; /*定义各个塔的中心坐标*/
float x,y,d1,d2,d3,d4; /*定义任意点的坐标和该点到各个塔中心的距离*/
printf(“input a point(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(“the high of this point is:%d\n”,h); /*输出结果*/
}
‘捌’ c语言,请问图中的程序哪里有错误 问题如下: 有4个圆塔,圆心分别为(2,2),(-2,2),(
‘玖’ C语言 有4个圆塔
if(s1>1&&s2>1&&s3>1&&s4>1)
这种写法也没错的,不过要注意sqrt是返回double类型的,s1到s4都定义了float是不妥的。
这里仅仅是判断>1而不是>=1,所以用if(d1>1&&d2>1&&d3>1&&d4>1)比较巧妙吧
‘拾’ 4个圆塔,c语言程序设计
看你输入的哪一点在不在圆塔的范围内,如果在,则输出塔高为5,else输出0.
#include <stdio.h>
void main()
{
int x,y;
scanf("%d %d",&x,&y);
if((x-2)*(x-2)+(y-4)*(y-4)<=1||((x-2)*(x-2)+(y+3)*(y+3)<=1||((x+5)*(x+5)+(y+2)*(y+2)<=1||((x+2)*(x+2)+(y-1)*(y-1)<=1)
printf("%d\n",5);
else
printf("%d\n",0);
}
大概就是这个意思。