复习下谭老师的C习题程序

来源:互联网 发布:油画颜料 知乎 编辑:程序博客网 时间:2024/06/06 03:00

 5.10建筑高度问题

在建筑高度的问题,有四个圆塔,圆心为(2,2),(-2,2)(-2,-2),(2,-2)在这个半径为1

 

算法核心是一个点对圆心进行相减的平方如果大于1,就在圆外,(我也不知道为什么嘿嘿,我刚开始有取值范围来做,发现超出了圆的范围)在网上看了一下都是用这个算法,也没讲这个算法)

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main(void)
{
 
 int hight=10;

 int h=0;

 float  x;
 float  y;
 float x1;
    float y1;
 float d1;

 printf("please input x,y:\n");

 scanf("%f %f",&x,&y);    //不要逗号 scanf("%f,%f",是错误的)

    if (x>0 && y>0)
 {
  x1=2;
  y1=2;
  d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);
        if (d1>1)
  printf("hight %d",h);
  else
  printf("hight %d",hight);

      
 }

 else if (x>0&&y<0)
 {
    x1=2;
    y1=-2;
  d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);

    if (d1>1)
    printf("hight %d",h);
    else
    printf("hight %d",hight);


 }


   else if (x<0&&y>0)
 {
    x1=-2;
    y1=2;
    d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);

    if (d1>1)
    printf("hight %d",h);
    else
    printf("hight %d",hight);
 
   }

   else
   {
    x1=-2;
    y1=-2;
    d1=(x-x1)*(x-x1)+(y-y1)*(y-y1);

    if (d1>1)
    printf("hight %d",h);
    else
    printf("hight %d",hight);

  
   }

}

 

 

 

 

 

为什么要写这么简单的程序,主要是为了自己方便来看,(程序很容易忘)

 

 

 

原创粉丝点击