求助,第三个点WA
  • 板块题目总版
  • 楼主zyc220606
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/7/3 12:29
  • 上次更新2023/11/3 11:48:03
查看原帖
求助,第三个点WA
916188
zyc220606楼主2023/7/3 12:29
#include <bits/stdc++.h>
using namespace std;

int x1,x2,y,y2,up,down,p,q;
int k,b;
bool tf = false,temp = false;

int main(){
	scanf("%d%d%d%d",&x1,&y,&x2,&y2);
	up = y2 - y;
	down = x2 - x1;
	if((up > 0 && down < 0) || (up < 0 && down > 0)){
		tf = true;
		up = abs(up);
		down = abs(down);
	}
	if(up % down == 0){
		temp = true;
		k = up / down;
		if(tf == true){
			b = y - x1 * (-1) * k;
		}
		else{
			b = y - x1 * k;
		}
	}
	else{
		p = y * down - up * x1;
		q = down;	
	}
	if(tf == true){
		if(temp == true){
			if(b < 0){
				printf("y=-%dx-%d",k,abs(b));
			}
			else if(b == 0){
				printf("y=-%dx",k);
			}
			else{
				printf("y=-%dx+%d",k,b);
			}
		}
		else{
			if(p < 0){
				printf("y=-%d/%d*x-%d/%d",up,down,abs(p),q);
			}
			else{
				printf("y=-%d/%d*x+%d/%d",up,down,p,q);
			}
		}
	}
	else{
		if(temp == true){
			if(b < 0){
				printf("y=%dx-%d",k,abs(b));
			}
			else if(b == 0){
				printf("y=%dx",k);
			}
			else{
				printf("y=%dx+%d",k,b);
			}
		}
		else{
			if(p < 0){
				printf("y=%d/%d*x-%d/%d",up,down,abs(p),q);
			}
			else{
				printf("y=%d/%d*x+%d/%d",up,down,p,q);
			}
		}
	}
	return 0;
}

/*
up:分子;
down;k分母
p,q:b分子分母
y:y1
tf判断负数
temp判断整除
*/
2023/7/3 12:29
加载中...