1. 用c语言定义一个坐标点类型Point,每个Point有成员x, y表示其坐标。输入一个函数,求象限

用c语言定义一个坐标点类型Point,每个Point有成员x, y表示其坐标。输入一个函数,求象限
这么早已经习惯每天

2. 求用c语言实现直角坐标(x,y,z)转换为球坐标(r,angle_a,angle_b),非常感谢

首先,matlab 本身提供了把直角坐标转化为极坐标的函数cart2pol。调用方法为:

[TH,R] = cart2pol(X,Y) TH 是极坐标的角度坐标,R 是距离坐标。

[TH,R,Z] = cart2pol(X,Y,Z) 这个函数同时支持3维直角坐标到柱坐标的转换。

如果因为是作业或者练习,一定要自己写一个的话,请继续往下看。

考虑到这个程序的性质,编成一个函数比较适合。编写这个函数需要用到直角坐标与极坐标的数学关系。考虑到输入参数可能是一个向量或矩阵,关系式里面的运算符应该用加点运算符。

函数代码如下:

function [ TH,R ] = mycart2pol(X,Y)

%this function transforms corresponding elements of data

%stored in Cartesian coordinates X,Y to polar coordinates

%angle TH and radius R.

R=(X.^2+Y.^2).^0.5;

TH=atan(Y./X);

end

测试结果如下:

3. c语言中若要输入坐标应该怎么办

先算出纵坐标的源值,然后
用二维数组来存储坐标,如:int a[5][5]; 可以用a[0][0] a[0][1]....
a[i][j]....a[4][3] a[4][4],来存储5对坐标值,i、j分别是横坐标和纵坐标。

4. C语言设计函数顶点坐标

参考代码如下:

函数头文件CalC.h

doublearround(doublex[],doubley[],intp);

函数定义文件CalC.c

#include<math.h>
doublearround(doublex[],doubley[],intp)
{
inti;
doubleC=0;//周长
doublel_p_i;//第i条边长度
for(i=0;i<p;i++)
{
l_p_i=sqrt((y[i+1]-y[i])*(y[i+1]-y[i])+(x[i+1]-x[i])*(x[i+1]-x[i]));
printf("第%d条边长=%f ",i+1,l_p_i);
C+=l_p_i;
}

returnC;
}

主文件main.c

#include<stdio.h>
#include"CalC.h"

intmain(void)
{
doublex[3]={0.0,4.0,4.0};
doubley[3]={0.0,0.0,3.0};
intp=3;

doubleC=0.0;//周长
C=arround(x,y,p);
printf("C=%f ",C);

return0;
}

效果图

5. 用C语言编写一个程序:定义一个点的坐标,然后定义两个点,求这两个点间的距离。

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

structPoint
{
doublex,y;
};

/**.*/
doubledistance(conststructPoint*a,conststructPoint*b)
{
returnsqrt((a->x-b->x)*(a->x-b->x)+(a->y-b->y)*(a->y-b->y));
}

intmain()
{
structPointa,b;
printf("Pleaseinputthefirstpoint:");
scanf("%lf%lf",&a.x,&a.y);
printf("Pleaseinputthesecondpoint:");
scanf("%lf%lf",&b.x,&b.y);
printf("Thedistanceofthetwopointis%f. ",distance(&a,&b));
return0;
}

说明:

1、distance() 函数的两个参数 const struct Point *a 和 b 使用了 const 修饰,是表示 a 和 b 在函数执行过程中不会被修改;这样即使函数体内部写错,修改了 a 和 b 的值,编译也不会通过。

2、对 double,scanf 用 %lf,printf 用 %f。

以上。

6. C语言,如何在指定坐标输入数据

用gotoxy和gets吧~~~
gotoxy(old_x,old_y);//跳转到指定坐标输出信息
cprintf("User Name:");//在指定坐标处输出User Name:
gotoxy(old_x,old_y+2);//跳转到指定坐标输入信息
gets(name);//输入用户名,name为所定义的字符数组
这是我做一个游戏界面的用户名和密码输入的代码~~你看看吧,希望对你有所帮助。。

7. C语言如何将坐标中的(x,y)提取出来

用ReadConsoleOutputCharacterA函数,在windows.h中。

给你一个封好的函数吧,其作用是提取出窗口中第x行y列的位置的字符是什么。(如果没有东西会返回空格符号)。

#include<windows.h>
//下标从1开始,x行y列。
charGetStr(intx,inty)
{
COORDpos;
//ReadConsoleOutputCharacterA里的x和y指的是x列y行,且从0开始标号
pos.X=y-1;pos.Y=x-1;
LPSTRstr;
DWORDread;
ReadConsoleOutputCharacterA(GetStdHandle(STD_OUTPUT_HANDLE),str,1,pos,&read);
returnstr[0];
}

使用举例:

intmain()
{
printf("kjndfgdfg khgfhfhfgd jifdgdfgg ");
printf("1,2:%c ",GetStr(1,2));
return0;
}

输出为

kjndfgdfg
khgfhfhfgd
jifdgdfgg
1,2:j

8. 求高手们用C语言编写一个函数,根据两个变量自动显示点的坐标(X,Y,Z)

//class是写成类吗,这个写成类有点多此一举,下面用最简单的函数写的,变量自己改成英文命名
1.h
#include<stdio.h>
#include<math.h>

//宏定义值
#definehXX
#defineLXX
#defineαXX

doubleβ,θ;
doubleA[3],B[3],M[3];
voidmath(β,θ,A,B,M);

1.cpp
#include"1.h"

math(β,θ,A,B,M)
{
A[0]=L*sin(fabs(θ-α));
A[1]=L*cos(fabs(θ-α))*cosβ;
A[2]=L*cos(fabs(θ-α))*sinβ,
//公式太长自己写
}

voidmain()
{
printf("请输入β,θ的值: ");
scanf("%f,%f",&β,&θ);
math(β,θ,A,B,M);
printf("A的坐标为:(%f,%f,%f) ",A[0],A[1],A[2]);
//输出自己写
}

9. C语言编程坐标曲线

下面是的是昨天的,但是修改了一下坐标的刻度.

/*******************************************************
*Author :Wacs5
*Date :20090105(YYYY-MM-DD)
*Function :画简易的曲线图 *********************************************************/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <Graphics.h>

#define n 8

int main()
{
int i,j;
float data[]={7,3,12,6,9,5,8,11};
char str[40];

int gdrive=DETECT,gmode,errorcode;
int maxx,maxy;
int perx,pery;
int x0,x1,y0,y1;
int coloraxis=2,colorline=3;
float mindata,maxdata,ndata;

initgraph(&gdrive,&gmode,""); /*初始化设备*/
if ((errorcode=graphresult())!=grOk) /*查错*/
{
printf("Graphics error:%s\nPress any key to exit:",grapherrormsg(errorcode));
getch();
exit(1);
}
maxx=getmaxx();
maxy=getmaxy();
mindata=0;
maxdata=data[0];
for (i=1;i<n;i++)
if (maxdata<data[i])
maxdata=data[i];

perx=maxx/(n+4);
pery=maxy/(maxdata-mindata+4);
x0=2*perx;
y0=maxy-2*pery;

x1=maxx-2*perx;
y1=2*pery;
setcolor(coloraxis);
line(x0,y0,x1,y0);
line(x0,y0,x0,y1);

line(x1,y0,x1-4,y0+3);
line(x1,y0,x1-4,y0-3);
line(x0,y1,x0+3,y1+4);
line(x0,y1,x0-3,y1+4);

settextjustify(CENTER_TEXT,TOP_TEXT);
for (i=0;i<=n;i++)
{
j=x0+i*perx;
line(j,y0,j,y0+2); /*刻度线*/
sprintf(str,"%d",i);
outtextxy(j,y0+4,str);
}

settextjustify(RIGHT_TEXT,CENTER_TEXT);
for (i=1;i<=12;i++)
{
j=y0-i*pery;
line(x0,j,x0-2,j); /*刻度线*/
sprintf(str,"%d",i);
outtextxy(x0-4,j,str);
}

setcolor(colorline);
x1=x0+perx;
y1=y0-(data[0]-mindata)*pery;
circle(x1,y1,2);
moveto(x1,y1);
i=1;
do
{
x1+=perx;
y1=y0-(data[i]-mindata)*pery;
lineto(x1,y1);
circle(x1,y1,2);
moveto(x1,y1);
i++;
}while(i<n);

getch();
closegraph();
return 0;
}