❶ c语言编写计算平面直角坐标系内两点
不爱动脑子的“尴尬
一边的长度a =平方根(X1-X2)^ 2 +(Y1-Y2)^ 2
即,^ 2 =(X1-X2)^ 2 +(Y1-Y2)^ 2
A,B点为中心,半径的圆
(X-X1)^ 2 +(Y-Y 1)^ 2 = ^ 2
(X×2)^ 2 +(γ-y2)的^ 2 = ^ 2
同时需求的两个方程两个未知数,两个正确的解决方案可解
方法简单地求解方程麻烦
另一个想法,观点和中点坐标点开始,懒得想?
❷ 坐标轴上所有点的坐标用c语言怎么求
我已经知道NBA最高的是YM,最矮的是博伊金斯,NBA现役球员人数我也知道,怎么求NBA所有球员的身高
❸ C语言实现经纬度的转换
办法很多,三维字符数组,指针字符数组都可以,分别保存字符串到数组元素,最后以%s输出即可。
我来写个最简单的
#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;
}
❹ c语言的一个小问题
没必要那么复杂吧,其实只要分别求x和y的加权平均数就行了。读文本我厅闭省略了,直接储拿圆存成数据了。
#include <stdio.h>
#include <stdlib.h>
double X[8]={10,30,19,38,9,2,5,29};
double Y[8]={20,34,25,49.1,38.1,34,8};
int People[8]={30,45,28,8,36,16,78,56};
main()
{
double X_=0,Y_=0;
int i;
int PeopleCount=0;
for(i=0;i<8;i++)
PeopleCount+=People[i];//总人数
for(i=0;i<8;i++)
X_+=X[i]*People[i]/PeopleCount;//求x的加权平均数
for(i=0;i<8;i++)
Y_+=Y[i]*People[i]/PeopleCount;//求y的加权平均数
printf("Best location:(%f,%f)",X_,Y_);
return 0;
}
程扮敏裂序运行后输出(16.350168,19.402020)
❺ c语言中若要输入坐标应该怎么办
先算出纵坐标的值,然后
用二维数组来存储坐标,如:int a[5][5]; 可以用a[0][0] a[0][1]....
a[i][j]....a[4][3] a[4][4],来存储5对坐标值,i、j分别是横坐标和纵坐标。
❻ c语言:输入10个点的坐标(设坐标为整数值),输出距原点最远的点(设唯一)的坐标及该点距原点的距离
#include#includeintmain(){intx1,y1,x2,y2,absx,absy;doubleres;printf("Pleaseinputthefirstpoint(x,y):\n");scanf("%d%d",&x1,&y1);printf("Pleaseinputthesecondpoint(x,y):\n");scanf("%d%d",&x2,&y2);printf("\nfirstpoint:(%d,%d),secondpoint:(%d,%d)\n",x1,y1,x2,y2);absx=abs(x2-x1);absy=abs(y2-y1);//printf("%d%d",absx,absy);res=sqrt((absx*absx)+(absy)*(absy));printf("\nthelenoflineis=%lf\n",res);getch();return0;}
❼ C语言编写程序输入任意两个量作为x,y的坐标,计算该点到原点的距离及与x轴的夹角。
#include<stdio.h>
#include<math.h>
#definePI3.1415926535
intmain()
{
doublex=0,y=0;
doubles=0;
doubleangle;
printf("请输入x=");
scanf("%lf",&x);
printf("请输入y=");
scanf("%lf",&y);
printf("输入的点坐标为(%f,%f) ",x,y);
s=sqrt(fabs(x)*fabs(x)+fabs(y)*fabs(y));
angle=atan2(y,x)*180/PI;
printf("该点到原点的距离:%lf ",s);
printf("该点到原点x轴的夹角:%lf° ",angle);
}
源码如上
运行结果如下
❽ 用C语言或者C++实现大地坐标系与大地空间直角坐标系的转换
当球心在z=1点时,r和上面的不一样。此时r^2=R^2+2rcos(PHI)-1r^2-2rcos(PHI)=R^2-1[r-cos(PHI)]^2=R^2-1+[cos(PHI)]^2然后开根号 得到r与R和PHI的关系式。因为r是表示球面上的点到坐标原点的距离,所以当球心改变时,距离表达式一定不一样。
❾ c语言 坐标
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
int gdriver = DETECT, gmode, errorcode;
int xmax, ymax;
initgraph(&gdriver, &gmode, ""); \*初试化图形*/
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n",
grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
setcolor(getmaxcolor()); \*可以选择颜色比如color(2)是一种颜色*/
xmax = getmaxx();
ymax = getmaxy();
line(0, 0, xmax, ymax);
getch();
closegraph();
return 0;
}
自己远行一下看看就明白了
❿ c语言中计算gps坐标转经纬度
就是纯计算公式,一个公式就可以解决。具体逻辑如下。
一般从GPS得到的数据是经纬度。经纬度有多种表示方法。
1.) ddd.ddddd, 度 . 度的十进制小数部分(5位)例如:31.12035º
2.) ddd.mm.mmm,度 . 分 . 分的十进制小数部分(3位)例如 31º10.335′
3.) ddd.mm.ss, 度 . 分 . 秒 例如 31º12’42″
地球上任何一个固定的点都可以用确定的经纬度表示出来。
关于经纬度坐标转换的方法
一、十进制转换成经纬度
把经纬度转换成十进制的方法很简单
如下就可以了
Decimal Degrees = Degrees + minutes/60 + seconds/3600
例:57°55’56.6″ =57+55/60+56.6/3600=57.9323888888888
114°65’24.6″=114+65/60+24.6/3600=结果自己算!
如把经纬度 (longitude,latitude) (205.395583333332,57.9323888888888)
转换据物州成坐标(Degrees,minutes,seconds)(205°23’44.1″册誉,57°55’56.6″)。
步骤如下:
1, 直接读取”度”:205
2,(205.395583333332-205)*60=23.734999999920 得到”分”:23
3,(23.734999999920-23)*60=44.099999995200 得罩姿蔽到”秒”:44.1
采用同样的方法可以得到纬度坐标:57°55’56.6″