11.【应用】求过顶点的切线方程【北理工乐学C语言作业】

给定椭圆方程和椭圆上一个定点,求过定点的切线方程。

输入:
    第1行:输入a²和b²的值,即 x²/ a²+y²/ b²=1 中的 a² 和 b²,保证 a² 和 b² 均为整数且大于0。
    第2行:输入定点的坐标

输出:
    切线方程 或 Input error!。

测试用例 1
  1. 4 2↵
  2. -2 0↵
  1. x=-2.000000↵
1秒64M0
测试用例 2
  1. 4 2↵
  2. 1 2↵
  1. Input error!↵
1秒64M0
测试用例 3
  1. 5 1↵
  2. 0 1↵
  1. y=1.000000↵
1秒64M0
#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);  
        }  
    }  
}  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值