我来写个最简单的
#include "stdafx.h"
#include "stdlib.h"
#include "string.h"
void explain_NS(char * str)
{
char tmp_ca[30] = ""
if(str[0] == 'N')
strcpy(tmp_ca,"北纬")
else
strcpy(tmp_ca,"南纬")
char *p = tmp_ca
while(*p) p++
strncpy(p, str+1, 2)
p += 2
*p = 176
p ++
strncpy(p,str+3,2)
p += 2
*p = 39
p++
strncpy(p, str+6,5)
p += 5
*p = 34
printf("%s\n",tmp_ca)
}
void explain_EW(char * str)
{
char tmp_ca[30] = ""
if(str[0] == 'E')
strcpy(tmp_ca,"东经")
else
strcpy(tmp_ca,"西经")
char *p = tmp_ca
while(*p) p++
strncpy(p, str+1, 3)
p += 3
*p = 176
p ++
strncpy(p,str+4,2)
p += 2
*p = 39
p++
strncpy(p, str+7,5)
p += 5
*p = 34
printf("%s\n",tmp_ca)
}
int _tmain(int argc, _TCHAR* argv[])
{
char ca[30] = "N3018.93661"
char cb[30] = "E12022.88281"
explain_NS(ca)
explain_EW(cb)
system("pause")
return 0
}
代码如下:
#include<stdio.h>#define N 10
typedef struct _Coordinate
{
double longitude//经度
double latitude//纬度
}Coordinate
Coordinate avg(Coordinate arr[], int n){
double lon = 0
double lat = 0
for (int i = 0 i < n i++){
lon += arr[i].longitude
lat += arr[i].latitude
}
lon /= n
lat /= n
return{ lon, lat }
}
int main(){
Coordinate arr[N] = {
{ 1, 1 },
{ 2, 3 },
{ 3, 1 },
{ 4, 3 },
{ 5, 1 },
{ 6, 3 },
{ 7, 1 },
{ 8, 3 },
{ 9, 1 },
{ 10, 3 },
}
Coordinate myavg = avg(arr, N)
printf("平均值为: 经度=>%.3f,纬度=>%.3f\n", myavg.longitude, myavg.latitude)
getchar()
return 0
}
运行结果如下:
希望对你有帮助~
#include<stdio.h>#include<math.h>
int main(void)
{
float r, w, j, pi//r表示半径,w表示纬度,j表示经度差,纬度和经度的单位都是度,pi表示圆周率
pi=2.0*asin(1.0)
printf("请输入地球半径:r= ")
scanf("%f",&r)
printf("请输入纬度 w= ")
scanf("%f",&w)
printf("请输入两个地点的经度差 j= ")
scanf("%f",&j)
printf("这两个地方的距离里为: %lf\n",r*sin( (90.0-w)/180.0*pi )*( j/180.0*pi ) )
}