C语言计算斜率输出最简分数
输入四个整数x1,y1,x2,y2,分别为两点坐标。输出这两点确定的直线斜率用最简分数表示,不存在则输出-1
#include <stdio.h>
#include <stdlib.h>
int gcd(int a, int b) {
// 计算最大公约数
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int x1, y1, x2, y2;
scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
if (x1 == x2) {
// 如果两点横坐标相同,斜率不存在
printf("-1\n");
} else {
// 计算斜率
int k = abs(y2 - y1);
int n = abs(x2 - x1);
int g = gcd(k, n);
k /= g;
n /= g;
printf("%d/%d\n", k, n);
}
return 0;
}