咋写啊!
任务要求
评论
任务描述
编程输入若干个角度的值,输出它们的正弦值和余弦值(函数的参数是弧度,弧度=度×π/180,π可用3.1415926)。
输入格式:
若干角度值,以空格分隔。
输出格式:
对于每个角度,在一行中输出它的正弦值和余弦值,以一个空格分隔。
输入样例:
10 20
30
60 45
输出样例:
0.173648 0.984808
0.342020 0.939693
0.500000 0.866025
0.866025 0.500000
0.707107 0.707107
供参考:
#include <stdio.h>
#include <math.h>
#define pi 3.1415926
int main()
{
int ret;
double angle;
while (ret = scanf("%lf", &angle), ret == 1) //ctrl+z 回车 结束输入
{
angle = angle * pi / 180;
printf("%f %f\n", sin(angle), cos(angle));
}
return 0;
}
输入格式:
依次输入若干个数值,每个数值为一个角度值,以空格分隔。
输出格式:
对于每个输入的角度值,输出一行,包含该角度值的正弦值和余弦值,以空格分隔。
样例输入:
30 45 60 90
样例输出:
0.5 0.866 0.707 0.707 0.866 0.5 1 0
解决方案:
首先,需要把输入的角度转换成弧度,公式为:弧度 = 度 × π / 180。
计算出弧度值之后,可以通过cmath库中的sin和cos函数分别计算正弦和余弦值,并将这两个值输出即可。
实现代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double degree;
while (cin >> degree) {
double radian = degree * M_PI / 180; // 将角度转换为弧度
double sin_value = sin(radian);
double cos_value = cos(radian);
// 输出正弦和余弦值,保留3位小数
printf("%.3lf %.3lf\n", sin_value, cos_value);
}
return 0;
}
注意事项:
弧度值需要使用double类型存储,否则在计算时会出现精度误差。
输出时,需要使用printf函数进行格式化输出,保留3位小数即可。
如果使用cout输出,应该设置输出精度为3,否则同样会出现精度误差。