作者 黄龙军
单位 绍兴文理学院
按下面的计算公式,设计一个程序,通过累加所有绝对值大于等于0.000001 的项来计算sin(x) 的近似值,其中,x是弧度。设圆周率 π=3.1415926。注意:弧度=角度 × π / 180。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试,输入一个整数y(0<y<180),表示角度。
输出格式:
对于每组测试,输出角度y的sin值,结果保留6位小数。
输入样例:
3
30
60
90
输出样例:
0.500000
0.866025
1.000000
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
#include <math.h>
int main()
{
int T, i, n=1;
double x, sum = 0, sin = 0;
double PI = 3.1415926;
scanf("%d", &T);
for (i = 0; i < T; i++)
{
sum = 0;//主要是初始化,每次都要
n = 1;
sin = 0;
scanf("%lf", &x);
x = x / 180 * PI;
while (x > 180)
x -= 180;
sum = x;
while (fabs(sum) > 0.000001)
{
sin += sum;
sum = -sum * x * x / (2 * n * (2 * n + 1));
n++;
}
printf("%.6lf\n", sin);
}
return 0;
}
新手要特别注意变量的初始化,和循环内的变量需不需要重新赋值为0。
fabs
1.作用
在C语言中,fabs函数是用来计算一个浮点数的值的函数。它的作用是将负数转换为正数,并保留正数不变。
2.使用方法
fabs函数的使用方法很简单,只需要在程序中调用该函数,并传入要计算值的浮点数作为参数即可。
3.注意事项
(1).函数的参数必须是一个浮点数。
(2).函数的返回值为浮点数,若需要整数可以强制类型转化。