16-3.txt

来自「c primer 部分习题答案」· 文本 代码 · 共 48 行

TXT
48
字号

PE 16-3
 
/* pe16-3.c */
#include <stdio.h>
#include <math.h>
 
struct polar {
    double r;
    double theta;   /* angle in degrees */
};
 
struct rect {
    double x;
    double y;
};
 
struct rect p_to_r(const struct polar * ppol);
 
int main(void)
{
 
    struct polar input;
    struct rect answer;
    
    while (scanf("%lf %lf", &input.r, &input.theta) == 2)
    {
        answer = p_to_r(&input);
        printf("polar coord: %g %f\n",input.r, input.theta);
        printf("rectangular coord: %g %f\n",answer.x, answer.y);
    }
    puts("Bye");
    
    return 0;
}
 
struct rect p_to_r(const struct polar * ppol)
{
    static const double deg_rad = 3.141592654 / 180.0;
    struct rect res;
    double ang = deg_rad * ppol->theta;  /* convert degrees to radians */
    
    res.x = ppol->r * sin(ang);
    res.y = ppol->r * cos(ang);
    
    return res;
}
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?