给定椭圆方程和椭圆上一个定点,求过定点的切线方程。
输入:
第1行:输入a²和b²的值,即 x²/ a²+y²/ b²=1 中的 a² 和 b²,保证 a² 和 b² 均为整数且大于0。
第2行:输入定点的坐标
输出:
切线方程 或 Input error!。
测试用例 1 |
|
| 1秒 | 64M | 0 |
测试用例 2 |
|
| 1秒 | 64M | 0 |
测试用例 3 |
|
| 1秒 | 64M | 0 |
#include<stdio.h>
int main(void){
double a,b,x,y,k,j;
scanf("%lf %lf",&a,&b);
scanf("%lf %lf",&x,&y);
if(a-(int)a!=0||b-(int)b!=0||a<=0||b<=0) printf("Input error!\n");
else if((x*x)/a+(y*y)/b!=1) printf("Input error!\n");
else{
if(x==0) printf("y=%f\n",y);
else if(y==0) printf("x=%f\n",x);
else{
k=(b*x)/(a*y)*-1;
j=b/y;
if(j>0) printf("y=%fx+%f\n",k,j);
else if(j==0) printf("y=%fx\n",k);
else printf("y=%fx%f\n",k,j);
}
}
}