关于两两连线长度都是正整数的问题,暂告一段落:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a[2][2],x1,y1,x2,y2,juli;
float temp;
int integer;
for(x1=0;x1<3;x1++)
for(y1=0;y1<3;y1++)
for(x2=0;x2<3;x2++)
for(y2=0;y2<3;y2++)
{
// printf("a[2][2]=%f %f %f %f\n",x1,y1,x2,y2);
// printf("
x1=%f y1=%f x2=%f y2=%f\n",x1,y1,x2,y2);
juli=sqrt(
(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) );
//
printf("两点间距离:%f\n", juli);
temp = juli;
while (temp- 1 >= 0)
{
temp--;
}
integer = juli - temp;
//
printf("
%.2f的整数部分是:%d,小数部分是:%.2f", juli, integer,temp);
printf("\n");
if(integer!=0 && temp==0)
printf("
(%.0f %.0f) 与(%.0f %.0f)两点之间的距离是整数值\n",x1,y1,x2,y2);
}
return 0;
}
修改a[2][2]的值,可以扩大取值范围。