搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 用struct函数写两点间距离怎么写啊?这个函数没有学过。
标题:
用struct函数写两点间距离怎么写啊?这个函数没有学过。
只看楼主
设计大师的路
等 级:
新手上路
帖 子: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
设计大师的路
等 级:
新手上路
帖 子:64
专家分:0
注 册:2012-12-1
第
2
楼
得分: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
设计大师的路
等 级:
新手上路
帖 子:64
专家分:0
注 册:2012-12-1
第
3
楼
得分:0
好乱啊,高手给我讲下struct的函数使用啊。就用这个作为例子吧。
2012-12-04 11:35
设计大师的路
等 级:
新手上路
帖 子:64
专家分:0
注 册:2012-12-1
第
4
楼
得分: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
雨醉
等 级:
新手上路
帖 子:15
专家分:0
注 册:2012-12-3
第
5
楼
得分: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
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
6
楼
得分:0
scanf返回的是输入的数值的个数
DO IT YOURSELF !
2012-12-04 12:20
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
7
楼
得分:0
你老师给的例子不好,所以你写的也不好。
授人以渔,不授人以鱼。
2012-12-04 13:06
weishen2011
等 级:
论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
第
8
楼
得分:0
有点乱啊
2012-12-04 14:58
weishen2011
等 级:
论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
第
9
楼
得分: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
等 级:
论坛游民
帖 子:92
专家分:70
注 册:2012-10-16
第
10
楼
得分: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
10
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-389485-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.263758 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved