杨__羊羊
#include<stdio.h>#include<math.h>int main(void){double x,s;printf("input number:\n");scanf("%lf", &x);s = sin(x * 3.14 / 180);/*C语言math.h库中的sin, cos, tan的参数是弧度制, 不是角度制. 这点要明确...%lf是转换说明符, 这个说明符代表一个double类型的值而对应的%f是float类型.double 是一个数据类型说明符(也可以说是C语言的关键字)double代表双精度浮点类型的集合的名称而float代表单精度浮点类型的集合的名称双和单的区别就是精度的区别,比如双精度可以精确到10的-8次方的数量级, 而单精度是10的-4次方函数printf还有很多修饰符, 比如%.4lf代表精确到小数点后4位而%4d代表数据宽度的最小值, 如果不能容纳则系统会使用更长的宽度注意: float和double很相似但有一个区别需要注说明float a;double b;scanf("%f", a); // 这个没有错scanf("%f", b); // 这个就错了但是printf("%f %f\n", a, b);是没有错的, 输出时%f都可以作用于double和float但是输入时要严格对照转换说明符, 所以正确的写法是:scanf("%Lf", b); // lf和Lf和Lf是一样的, 但f不能大写*/printf("sine of %.2lf is %.2Lf\n", x, s);getchar();return 0;}输出测试 (粗体代表输入)input number:30sine of 30.00 is 0.50