6-8 极坐标->直角坐标 (10 分)
请编写函数,将极坐标 ( r,θ ) 转换为直角坐标 ( x,y )。
函数原型
void ToCoord(double *x, double *y, double r, double theta);
说明:x 和 y 分别为指示横坐标和纵坐标的指针,r 和 theta 分别为极径和极角(弧度)。
裁判程序
#include <stdio.h>
#include <math.h>
void ToCoord(double *x, double *y, double r, double theta);
int main()
{
double r, theta, x, y;
scanf("( %lg, %lg )", &r, &theta);
ToCoord(&x, &y, r, theta);
printf("( %.10g, %.10g )\n", x, y);
return 0;
}
/* 你提交的程序将被嵌在这里 */
输入样例1
( 1.5, 2.617993877991494 )
输出样例1
( -1.299038106, 0.75 )
输入样例2
( 3.8, -2.587330819137465131 )
输出样例2
( -3.231098884, -2 )
题目中 调用Tocoord函数时 ToCoord(&x, &y, r, theta); 为什么用取地址符号
答案:
void ToCoord(double *x, double *y, double r, double theta)
{
*x=r*cos(theta);
*y=r*sin(theta);
}