#include <stdio.h>
#include <math.h>
typedef struct circle
{
double x;
double y;
double r;
} CIR;
CIR scan_circle (void);
void print_circle(CIR c);
int relationship (CIR c1,CIR c2);
int main ()
{
CIR c1,c2;
c1=scan_circle();
c2=scan_circle();
print_circle(c1);
print_circle(c2);
printf("%d\n",ship(c1,c2));
}
CIR scan_circle (void)
{
CIR c;
printf("请输入圆心横坐标,x=");
scanf("%lf",&c.x);
printf("请输入圆心纵坐标,y=");
scanf("%lf",&c.y);
printf("请输入圆半径,r=");
scanf("%lf",&c.r);
}
void print_circle (CIR c)
{
printf("(x,y)=(%.2f, %.2f), r=%.2f\n",c.x,c.y,c.r);
}
int relationship (CIR c1,CIR c2)
{
double l;
l=abs((c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y));
if (l==c1.r+c2.r||l==sqrt(c1.r-c2.r))
return 0; //printf("相切\n");
else if (abs(c1.r-c2.r)<l&&l<c1.r+c2.r)
return -1; // printf("相交\n");
else return 1 ; //printf("相离\n");
}
输出圆的那个函数!!!!
拜托了!
#include <math.h>
typedef struct circle
{
double x;
double y;
double r;
} CIR;
CIR scan_circle (void);
void print_circle(CIR c);
int relationship (CIR c1,CIR c2);
int main ()
{
CIR c1,c2;
c1=scan_circle();
c2=scan_circle();
print_circle(c1);
print_circle(c2);
printf("%d\n",ship(c1,c2));
}
CIR scan_circle (void)
{
CIR c;
printf("请输入圆心横坐标,x=");
scanf("%lf",&c.x);
printf("请输入圆心纵坐标,y=");
scanf("%lf",&c.y);
printf("请输入圆半径,r=");
scanf("%lf",&c.r);
}
void print_circle (CIR c)
{
printf("(x,y)=(%.2f, %.2f), r=%.2f\n",c.x,c.y,c.r);
}
int relationship (CIR c1,CIR c2)
{
double l;
l=abs((c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y));
if (l==c1.r+c2.r||l==sqrt(c1.r-c2.r))
return 0; //printf("相切\n");
else if (abs(c1.r-c2.r)<l&&l<c1.r+c2.r)
return -1; // printf("相交\n");
else return 1 ; //printf("相离\n");
}
输出圆的那个函数!!!!
拜托了!