c语言给出半径圆心求圆上的点

Python016

c语言给出半径圆心求圆上的点,第1张

#include<stdio.h>

#include<math.h>

int main()

{

double r,a,b,x1,y1

int i//将循环变量设置为整型

printf("请输入圆心坐标与半径:")

scanf("%lf,%lf,%lf",&a,&b,&r)//圆心和半径是double型用%lf接收,注意输入格式,数与数之间用英文逗号隔开

for(i=1i<=360i++)

{

x1=a+r*cos(i*3.141592/180)//"/"两边除数和被除数都为整型则结果为整型影响最后结果

y1=a+r*sin(i*3.141592/180)

printf("(%lf,%lf)\n",x1,y1)//输出依然用%lf

}

return 0

}

答案并没有计算错误。

你的程序中计算的d1~d4,分别是点到四个圆心的距离的平方。当点到圆心的距离大于1时,自然距离的平方也是大于1的。所以在这个特殊的问题中,不再求平方根也是可以的。

#include <math.h>#include <stdio.h>#define R 10    //半径 #define X 10    //圆心x坐标 #define Y 10    //圆心Y坐标 int main(void)

{    int x,y   int m   int i   for(i=Y-Ri>=1i--)

   {        printf("\n")

   }

   for(y=Ry>=-Ry--)

   {

       m=2*sqrt(R*R - y*y)   //横坐标的偏移量,因为字体长宽比例为2,所以要乘2

       for(x=1x<X+R-mx++)        //打印左半圆

       {            printf(" ")   

       }        printf("*")       for(x<X+R+mx++)           //打印右半圆

       {            printf(" ")

       }        printf("*\n")

   }

}