2019-11-30
1118( 动态分配二维数组/结构体)给出来的是坐标,判断共线(斜率)
#include <stdio.h> #include <stdlib.h> #define N 700 int main() { int n,i,j; struct { int x,y; } p[N]; while(scanf("%d",&n)!=EOF && n!=0) { for(i=0; i<n; i++) { scanf("%d %d",&p[i].x,&p[i].y); } int k,num; int max=2; for(i=0; i<n; i++) { for(j=i+1; j<n; j++) { num=2; for(k=j+1; k<n; k++) { if((p[i].y-p[j].y)*(p[k].x-p[i].x)==(p[k].y-p[i].y)*(p[i].x-p[j].x)) { num++; } } if(num>max) { max=num; } } } printf("%d ",max); } return 0; }