香蕉还是相交

描述

小菜最喜欢吃香蕉啦!所以千万别在小菜面前提香蕉两字,不然他肯定缠着问你要,哈哈。What?“相交”也读作“香蕉”,好吧,那我们就慷慨点吧,来算算下面的问题有没有小菜喜欢的东西。

输入
每组数据为两行,包含8个整数,分别表示四个坐标,(X1,Y1)至(X4,Y4),0<=Xi,Yi<=1000,前两个坐标和后两个坐标分别确定一条直线,计算这两条直线是否相交?

输出
两条直线若相交,输出Yes,若不相交,输出No,每个实例输出为一行

输入样例 1

1 1 2 2
2 1 3 2
1 1 2 2
2 1 3 3

输出样例 1

No
Yes

#include<stdio.h> 

int main(){
	int x1,x2,x3,x4,y1,y2,y3,y4;
	float f1,f2,f3,f4;
 	while(scanf("%d%d%d%d",&x1,&y1,&x2,&y2)!=EOF){
 		scanf("%d%d%d%d",&x3,&y3,&x4,&y4);
	 	f1 = (y2-y1) * (x4-x3); //判断直线是否相交,利用平行两直线斜率相等 
	 	f2 = (x2-x1) * (y4-y3);		 	
	 	f3 = (y3-y1) * (x2-x1); //判断直线是否重合 
	 	f4 = (x3-x1) * (y2-y1);
		if(f1==f2 && f3!=f4){
			printf("No\n");
		}else{
			printf("Yes\n");
		}	 
	}
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值