㈠ 已知地球任意兩點,求兩點間的直線距離和球面距離用c語言
這段代碼可以達到你的目的。注釋和其他有關信息自己添加。
//#include "stdafx.h"//vc++6.0加上這一行.
#include "stdio.h"
#include "math.h"
void main(void){
double x1,x2,x,r=6378.137,pai=3.1415926;
printf("Type 2 longitudes\n");
scanf("%lf%lf",&x1,&x2);
while(x1<0) x1+=360;
while(x2<0) x2+=360;
if((x=fabs(x1-x2))>180) x=360-x;
x=x/360*2*pai;
printf("The linear distance is %f(km)\n",2*r*sin(x/2));
printf("The arc length is %f(km)\n",r*x);
}
㈡ C語言題目:計算兩點間的距離
#include <math.h>
#include <stdio.h>
int main()
{
float x1, y1, x2, y2;
float d = 0;
while(scanf("%f%f%f%f",&x1,&y1,&x2,&y2)!=EOF)
{
d = sqrtf((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
printf("%.2f ", d);
}
return 0;
}
(2)c語言直線距離擴展閱讀:
c語言基本運算
一:算術運算符
算術運算符非常地簡單,就是小學數學裡面的一些加減乘除操作。不過呢,還是有一些語法細節需要注意的。
一、加法運算符 +
int a = 10;
(此處空一行)
int b = a + 5;
在第3行利用加法運算符 + 進行了加法運算,再將和賦值給了變數b,最終變數b的值是15
二、減法運算符 或 負值運算符-
int b = 10 - 5;
(此處空一行)
int a = -10;
1、在第1行利用減法運算符 - 進行了減法運算,再將差賦值給了變數b,最終變數b的值是5
2、 在第3行中,這個 - 並不是什麼減法運算符,而算是一個負值運算符,-10代表的是負十
三、乘法運算符*
int b = 10 * 5;
注意:乘法運算符並不是x或者X,而是星號*。變數b最終的值是50。
四、除法運算符/
double a = 10.0 / 4;
double b = 10 / 4;
(此處空一行)
printf("a=%f, b=%f ", a, b);
注意:除法運算符並不是÷,而是一個正斜杠 /
㈢ 如何用C語言計算兩點之間距離
用C語言計算兩點之間距離的參考代碼:
#include <stdio.h>
#include <stdlib.h>
#include "math.h"
typedef struct point {
double x;
double y;
}point;
point array[30001];
double distance(point a,point b);
int main(int argc, char *argv[])
{
while(1){
int n,i,j,count;
double maxdis,temp;
scanf("%d",&n);
for(i = 0;i<n;i++){
scanf("%f %f",&array[i].x,&array[i].y);
}
for(i = 0;i<n;i++){
//printf("%d %d ",array[i].x,array[i].y);
//printf("dis:%.2f ",distance(array[0],array[i]));
}
maxdis = 0.0;
for(i = 0;i<n;i++){
for(j = i;j<n;j++){
if(distance((array[i]),(array[j])) > maxdis ){
//printf("maxdis = :%.2f ",distance((array[i]),(array[j])));
maxdis =distance((array[i]),(array[j]));
}
}
}
printf("%.2f",maxdis);
}
system("pause");
return 0;
}
//計算x y之間距離
double distance(point a,point b){
return sqrt( (a.x - b.x)*(a.x - b.x) + (a.y -b.y)*(a.y -b.y) );
}
(3)c語言直線距離擴展閱讀:
C語言編寫注意事項:
1、所有自定義變數必須聲明才能使用。
2、每行只書寫一條語句, 在運算符兩邊加上一個空格, 便於閱讀。
3、整數除法將自動舍位, 不會進行四捨五入的操作。
4、for(初始化部分;條件部分;增長部分) - 比while 更適用於初始化和增長步長都是單條語句情況下。
5、使用#define 名字 替換文本 對部分"幻數" 賦予意義便於閱讀 #define結尾不需要「;」號結束。
㈣ c語言中len什麼意思
不是在C語言中是什麼意思
而是在這段程序中是什麼意思
#define len(x1,y1,x2,y2) sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))定義了一個宏,用來計算2個點(x1,y1)和(y1,y2)間的直線距離
㈤ 求C語言程序:計算兩點間的距離
代碼如下:
#include<stdio.h>
#include<math.h>
struct point
{
double x;
double y;
};
struct point readPoint();
double distance(struct point p1,struct point p2);
int main(void)
{
struct point a,b;
double dis;
printf(" distance! ");
printf("please input the point(for example:1.0,2.0):");
a=readPoint();
printf(" please input the point(for example:1.0,2.0):");
b=readPoint();
dis=distance(a,b);
printf(" the distance is:%.2f ",dis);
return 0;
}
struct point readPoint()
{
struct point p;
scanf("%lf,%lf",&p.x,&p.y);
return p;
}
double distance(struct point p1,struct point p2)
{
double d;
d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
return d;
}