打印sinx曲线//0.046代表啥意思?该如何解决
打印sinx曲线//0.046代表啥意思?????#include stdio.h#include math.h#define PI 3.1415926int main(v
打印sinx曲线//0.046代表啥意思?????
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int main(void)
{
double x,y;
for(y = -1; y <= 1; y = y + 0.1)
{
for(x = -PI; x <= PI; x = x + 0.1)
{
if(fabs(y - sin(x)) <= 0.046)
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}
[解决办法]你在命令行屏幕下话的点坐标只能是第一行, 第二行 ... 必须是整数. 而 sin(x) 求出来的数显然不一定是整数. 你取整的过程就会产生误差撒.