绘制余弦函数有关问题
绘制余弦函数问题
今天看c语言趣味程序百例精解里的绘制余弦函数问题
我自己写了一下
#include "stdafx.h "
#include "stdio.h "
#include "math.h "
int main()
{
float x, y;
for(y=1;y> =-1;y-=0.1)
{for (x=0;x <=7;x+=0.1)
{
if (x==acos(y)) /当弧度与函数结果相等时,打印*号/
printf( "* ");
else
printf( " ");
}
printf( "\n ");
}
}
但是要做到弧度与函数相等却很难,因为有很多位小数,我想知道用什么方法可以把一个值截取规定位数小数(比如3位)再赋给另一个变量。
作者说用数组很容易解决,但我就是想不明白怎么用数组实现,实在是很苯很苯,希望大家指点我一下。
------解决方案--------------------
if (x==acos(y)) --> if (abs(x-acos(y)) < 0.0001f)
------解决方案--------------------
#include "stdio.h "
#include "math.h "
int main()
{
float x, y;
for(y=1;y> =-1;y-=0.1)
{
for (x=0;x <=70;x+=1)
{
if (abs(x-acos(y)*10) < 0.1f)
printf( "* ");
else
printf( " ");
}
printf( "\n ");
}
system( "pause ");
return 0;
}
今天看c语言趣味程序百例精解里的绘制余弦函数问题
我自己写了一下
#include "stdafx.h "
#include "stdio.h "
#include "math.h "
int main()
{
float x, y;
for(y=1;y> =-1;y-=0.1)
{for (x=0;x <=7;x+=0.1)
{
if (x==acos(y)) /当弧度与函数结果相等时,打印*号/
printf( "* ");
else
printf( " ");
}
printf( "\n ");
}
}
但是要做到弧度与函数相等却很难,因为有很多位小数,我想知道用什么方法可以把一个值截取规定位数小数(比如3位)再赋给另一个变量。
作者说用数组很容易解决,但我就是想不明白怎么用数组实现,实在是很苯很苯,希望大家指点我一下。
------解决方案--------------------
if (x==acos(y)) --> if (abs(x-acos(y)) < 0.0001f)
------解决方案--------------------
#include "stdio.h "
#include "math.h "
int main()
{
float x, y;
for(y=1;y> =-1;y-=0.1)
{
for (x=0;x <=70;x+=1)
{
if (abs(x-acos(y)*10) < 0.1f)
printf( "* ");
else
printf( " ");
}
printf( "\n ");
}
system( "pause ");
return 0;
}