求C语言题目!谢谢
定义一个表示平面上点的结构体类型point,包括两个实数型
成员,分别为点的x坐标和y坐标:再定义表示平面上圆的结构体类型,包括两个成员,分别为圆心(point结构体类型)和半径(实数型)。从键盘输入两个圆的数据,并判定两圆位置关系(外离、外切、相交、内切或内含)。
1条回答 默认 最新
- qfl_sdu 2021-06-08 10:12关注
代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h> #include <math.h> struct point { double x,y; }; struct circle { point center; double radius; }; int main() { circle c1,c2; double disCent; printf("请输入圆1的中心点和半径:"); scanf("%lf %lf %lf",&c1.center.x,&c1.center.y,&c1.radius); printf("请输入圆2的中心点和半径:"); scanf("%lf %lf %lf",&c2.center.x,&c2.center.y,&c2.radius); disCent = sqrt((c1.center.x - c2.center.x)* (c1.center.x - c2.center.x)+(c1.center.y - c2.center.y)* (c1.center.y - c2.center.y)); if (disCent > c1.radius + c2.radius) { printf("外离\n"); }else if (disCent = c1.radius + c2.radius) { printf("外切\n"); }else if ( abs(c1.radius - c2.radius) == disCent) { printf("内切\n"); }else if (disCent < c1.radius + c2.radius && disCent > abs(c1.radius-c2.radius)) { printf("相交\n"); }else printf("内含"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用