首页 > 试题广场 >

极坐标用向量的长度和向量相对于x轴的逆时针转角来描述该向量。

[问答题]
极坐标用向量的长度和向量相对于x轴的逆时针转角来描述该向量。直角坐标用向量的x和y坐标来描述该向量(请参见图16.3)。编写程序,它读取向量的长度和角度(以度表示)然后显示x和y坐标。相关等式如下:

图16.3直角坐标和极坐标

要完成这个转换,需使用一个函数,该函数接受一个包含极坐标的结构作为参数,返回一个包含直角坐标的结构(也可使用指向结构的指针)。

推荐
#include <stdio.h>
#include <math.h>
#define PI 4*atan(1)
struct polar_v{
 double magnitude;
 double angle;
}polar;
struct rectangular_v{
 double x;
 double y;
}rect;
struct rectangular_v polar_to_Rectangular(struct polar_v polar2);
int main(void)
{
 printf("input magnitude and angle(in degrees), (input q to quit):");
 while( scanf("%lf%lf",&polar.magnitude, &polar.angle) == 2 )
 {
 rect = polar_to_Rectangular(polar);
 printf("x = %g, y = %g\n", rect.x, rect.y);
 printf("input magnitude and angle(in degrees), (input q to quit):");
 }
 return 0;
}
struct rectangular_v polar_to_Rectangular(struct polar_v polar2)
{
 struct rectangular_v rect2;
 rect2.x = polar2.magnitude * cos(polar2.angle * PI / 180) ;
 rect2.y = polar2.magnitude * sin(polar2.angle * PI / 180) ;
 return rect2;
}

发表于 2018-03-18 21:49:06 回复(0)