叶依兰 2022-03-20 18:01 采纳率: 100%
浏览 37
已结题

我这样写报错了,应该怎么写啊

问题:定义一个结构体Point,其成员为x和y,分别对应直角坐标系中一个点的x轴和y轴坐标。声明两个Point类型变量并为其初始化,取值自定。声明一个以指向结构体的指针为参数的函数并在main()函数中调用,用于计算两个点之间的欧氏距离。输出计算结果。
我的代码:
#include<stdio.h>

#include<math.h>

struct Point{

int x[2]={1,3},y[2]={4,5};

};

double fun(struct Point *p,int x1,int x2,int y1,int y2){

double distance;

distance=sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2));

return distance;

}

int main( ){

struct Point point;

double dis;

dis=fun(point,x[0],x[1],y[0],y[1]);

printf("%.2f",dis);

return 0;

}

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2022-03-20 18:18
    关注

    报啥错啊?
    你这个函数传递个point指针有啥用啊?既然已经有point指针了,后面四个变量就不需要了啊

    #include<stdio.h>
    #include<math.h>
    
    struct Point{
    int x[2],y[2];
    
    };
    
    double fun(struct Point *p){
    double distance;
    
    distance=sqrt((p->x[0] - p->x[1]) * (p->x[0] - p->x[1])  + (p->y[0] - p->y[1])  * (p->y[0] - p->y[1]) );
    
    return distance;
    
    }
    
    int main( ){
    struct Point point;
    point.x[0] = 1;
    point.x[1] = 3;
    point.y[0] = 4;
    point.y[1] = 5;
    double dis;
    
    dis=fun(&point);
    
    printf("%.2f",dis);
    
    return 0;
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月20日
  • 已采纳回答 3月20日
  • 创建了问题 3月20日

悬赏问题

  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计