C语言填空题,求解
展开全部
利用坐标差值与半径构成的三角形,两直角边平方和等于第三边平方(半径平方)。以此做判断条件。大于半径平方就是圆外。
但这题关键考的的是if不加大括号时的作用域。最后一个else只和上一个if匹配,和第一个if无关,但同时两者又不能同时成立。
所以[3]这里必须有一个else,这样下面的if...else都归属于这个else之下。
#include <stdio.h>
void main()
{
float x,y;
scanf("%f%f",&x,&y);//【1】
if((x-2)*(x-2)+(y-2)*(y-2)>1)//【2】
printf("A点在圆外");
else//【3】
if((x-2)*(x-2)+(y-2)*(y-2)==1)
printf("A点在圆上");
else
printf("A点在圆内。");
}
但这题关键考的的是if不加大括号时的作用域。最后一个else只和上一个if匹配,和第一个if无关,但同时两者又不能同时成立。
所以[3]这里必须有一个else,这样下面的if...else都归属于这个else之下。
#include <stdio.h>
void main()
{
float x,y;
scanf("%f%f",&x,&y);//【1】
if((x-2)*(x-2)+(y-2)*(y-2)>1)//【2】
printf("A点在圆外");
else//【3】
if((x-2)*(x-2)+(y-2)*(y-2)==1)
printf("A点在圆上");
else
printf("A点在圆内。");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询