Description 定义参数宏AngleToRadian(degree,minute,second),将度(degree)、分(minute)、秒(second)转换为弧度。(#define PI 3.14159)
#include <stdio.h> #define PI 3.14159 /**********/ 在此补充缺少的代码 /**********/ int main() { double degree,minute,second; scanf("%lf %lf %lf",°ree,&minute,&second); printf("%f",AngleToRadian(degree,minute,second)); /*参数宏会被替换为定义的表达式,算出结果后输出*/ return 0; }Input 度,分,秒
Outputt 转换后的弧度
Sample Input 180 0 0 Sample Outputt 3.141590
解法1:带参宏定义
#include <stdio.h> #define PI 3.14159 /**********/ #define PI 3.14159 #define AngleToRadian(d,m,s) ((d) + ((m)+(s)/60)/60)/180*PI /**********/ int main() { double degree,minute,second; scanf("%lf %lf %lf",°ree,&minute,&second); printf("%f",AngleToRadian(degree,minute,second)); /*参数宏会被替换为定义的表达式,算出结果后输出*/ return 0; }注:上面宏定义中的括号,并非可有可无
解法2: 实际上,对本题而言,完全可以使用自定义函数解决(只是不符合出题者要求而已)
#include <stdio.h> #define PI 3.14159 /***提交下面的代码*******/ #define PI 3.14159 double AngleToRadian(double degree,double minute,double second) { minute+=second/60; degree+=minute/60; return degree/180*PI; } /****提交到此处******/ int main() { double degree,minute,second; scanf("%lf %lf %lf",°ree,&minute,&second); printf("%f",AngleToRadian(degree,minute,second)); /*参数宏会被替换为定义的表达式,算出结果后输出*/ return 0; } 相关资源:python入门教程(PDF版)