请问我写的代码是什么地方错了吗,为什么是部分正确,改了好几个地方都没有找出哪错了

编程输入一个角度值r,输出角的正弦值和余弦值。

输入样例:
30
输出样例:
0.500000 0.866025
我写的代码

#include<stdio.h>
#include<math.h>
#define PI 3.14159265359
int main(){
   double a,r;
    scanf("%lf",&r);
    a=r*PI/180;
    printf("%.6lf %.6lf",sin(a),cos(a));
    return 0;
}

img

要求对scanf()函数的返回值作处理,修改如下,供参考:

#include<stdio.h>
#include<math.h>
#define PI 3.14159265359
int main(){
    float a,r;
    int ret = scanf("%f",&r);
    if (ret == 1){
        a=r*PI/180;
        printf("%.6f %.6f",sin(a),cos(a));
    }
    return 0;
}

https://www.dotcpp.com/course/475
看了一眼这个例子,好像对sin、和cos的值,先接受在输入,不妨试试。

sin(a),cos(a) 都是double类型的,都改成a和r都改成double看看
输入输出注意一起改下