『壹』 有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);
}
大概就是這個意思。