| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2345 人关注过本帖
标题:用struct函数写两点间距离怎么写啊?这个函数没有学过。
只看楼主 加入收藏
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
结帖率:76.92%
收藏
已结贴  问题点数:5 回复次数:9 
用struct函数写两点间距离怎么写啊?这个函数没有学过。
给你平面上的两点,求平面上两点的距离。要求点的结构定义为:
struct Point
  {
     int x;
     int y;
 };
Input
输入有若干行,每行有四个整数表示两个点的坐标。
Ouput
对应输出两点的距离。结果保留一位小数。
Sample Input
0 0 3 4
-1 0 9 0
1 1 2 2Sample Output
5.0
10.0
1.4

说明哦~~~~二楼我要写代码,所以别删这个贴。
搜索更多相关主题的帖子: 平面 
2012-12-04 11:25
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
收藏
得分:0 
#include<stdio.h>
#include<math.h>
struct Point{
    int x;
    int y;
};
int main()
{
  void juli(int x,int y);
  int p1x,p2x,p2y,p1y,x,y,j;
  float jl;
  while(scanf("%d %d %d %d",&p1x,&p1y,&p2x,&p2y)!=-1)
  {
    j=juli(x,y);
    jl=(int)j;
    printf("%f\n",jl);
  }
        return 0;
}

void juli(int x,int y)
{
    int p1x,p2x,p2y,p1y;
    float jl;
    jl=sqrt(((p1x-p2x)*(p1x-p2x)+(p1y-p2y)*(p1y-p2y)));
    return jl;
}
//..................

   
2012-12-04 11:35
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
收藏
得分:0 
好乱啊,高手给我讲下struct的函数使用啊。就用这个作为例子吧。
2012-12-04 11:35
设计大师的路
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2012-12-1
收藏
得分:0 
这是老师给的复数例子。
#include<stdio.h>
struct re{//myself
    int r,i;
};
int main()
{
    struct re f1,f2,f3;//
    struct re fushu(struct re f1,struct re f2);
    while(scanf("%d %d %d %d",&f1.r,&f1.i,&f2.r,&f2.i)!=-1)
    {
        f3 = fushu(f1,f2);
        printf("%d+%di",f3.r,f3.i);
    }
    return 0;
}
struct re fushu(struct re f1,struct re f2){
    struct re sum;
    sum.r = f1.r +f2.r;
    sum.i = f1.i +f2.i;
    sum = f1;
    return sum;
}
2012-12-04 11:40
雨醉
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 2楼 设计大师的路
while(scanf("%d,%d,%d,%d",&f1.r,&f1.i,&f2.r,&f2.i)!=-1)  这种写法第一次看到  这什么意思啊?  是指输入的数值不等于-1吗?

[ 本帖最后由 雨醉 于 2012-12-4 12:21 编辑 ]
2012-12-04 12:19
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
scanf返回的是输入的数值的个数

DO IT YOURSELF !
2012-12-04 12:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你老师给的例子不好,所以你写的也不好。

授人以渔,不授人以鱼。
2012-12-04 13:06
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
收藏
得分:0 
有点乱啊
2012-12-04 14:58
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
收藏
得分:3 
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

struct point
{
   int x;
   int y;
}

double distance(point s,point t)
{
   double dis;
   dis=(s.x-t.x)*(s.x-t.x)+(s.y-t.y)*(s.y-t.y);
   dis=sqrt(dis);
   return dis;
}

int main()
{
    point p1,p2;
    scanf("%lf %lf %lf %lf",p1.x,p1.y,p2.x,p2.y);
    printf("两点的距离为:%lf\n",distance(p1,p2));
    system("pause");
    return 0;
}
2012-12-04 15:23
weishen2011
Rank: 2
等 级:论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
收藏
得分:2 
下面的代码可以:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

struct point                    //这里注意下:struct不是函数,而是C语言关键字,用来定义结构体类型!
{
   double x;
   double y;
};

double distance(struct point s,struct point t)
{
   double dis;
   dis=(s.x-t.x)*(s.x-t.x)+(s.y-t.y)*(s.y-t.y);
   dis=sqrt(dis);
   return dis;
}

int main()
{
    struct point p1,p2;
    scanf("%lf,%lf,%lf,%lf",&p1.x,&p1.y,&p2.x,&p2.y);
    printf("两点的距离为:%lf\n",distance(p1,p2));
    system("pause");
    return 0;
}
2012-12-04 16:27
快速回复:用struct函数写两点间距离怎么写啊?这个函数没有学过。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031966 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved