永发信息网

C语言编‘写用二维数组判断五个坐标是否在同一直线上’

答案:1  悬赏:50  手机版
解决时间 2021-02-23 16:22
  • 提问者网友:贪了杯
  • 2021-02-22 15:34
C语言编‘写用二维数组判断五个坐标是否在同一直线上’
最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-02-22 17:13
#include 
int main()
{
    float point[5][2]={{2,3},{3,4},{5,5},{6,5},{8,5}};
    float k;
    k=(point[0][1]-point[1][1])/(point[0][0]-point[1][0]);
    for(i=2;i<5;i++)
    {
        ki=(point[0][1]-point[i][1])/(point[0][0]-point[i][0]);
        if (ki!==k)
        {
            printf("这5个点不在同一直线上
");
            break;
        }
    }
    if(i>=5) printf("这5个点在同一直线上
");
    return 0;
}解题思路:求两点(a和b)连线的斜率为(ya-yb)/(xa-xb),因此先用前两个点计算一个斜率k,然后分别计算第1个点和剩下3个点的连线斜率ki,如果ki==k,表示它们在同一条直线上,否则就不在同一条直线上
追问编译不通过,我稍微改了一下,谢谢追答不好意思,直接写没有注意,漏了变量ki的声明
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯