输入两个点的坐标,即p1 = (x1, y1)和p2=(x2, y2),求过这两个点的直线的斜率。如果斜率为无穷大输出“INF”。
样例输入
1 2
2 4
样例输出
2
样例输入
1 2
1 4
样例输出
INF
样例输入
1 2
3 2
样例输出
0
#include <stdio.h>
typedef
struct
{
int x;
int y;
}dian;
void shuchu( dian , dian );
void q_ys( int ,int );
int main(void)
{
dian zb1;
dian zb2;
scanf("%d%d",&zb1.x,&zb1.y);
scanf("%d%d",&zb2.x,&zb2.y);
shuchu(zb1,zb2);
return 0;
}
void shuchu( dian zb1, dian zb2)
{
if( zb1.x==zb2.x)
{
printf("INF\n");
return ;
}
if(zb1.y==zb2.y)
{
printf("0\n");
return ;
}
int fz=zb2.y-zb1.y;
int fm=zb2.x-zb1.x;
q_ys( fz ,fm );
}
void q_ys( int fz , int fm )
{
int ys;
int s1=fm,s2=fz;
while((ys=s1%s2)!=0)
{
s1=s2;
s2=ys;
}
if(s2==fm||fm/s2==1)
{
printf("%d\n",fz/fm);
return ;
}
printf("%d/%d\n",fz/s2,fm/s2);
}