C语言怎么编写正弦波

C语言怎么编写正弦波
2024-12-04 00:25:59
推荐回答(4个)
回答1:

源代码如下:

#include#include#define EX 0.000001

#define PI 3.14159265

int main()

{

double x=0.0, temp=1.0, sin=0.0;

int i;

printf("Please input a degree:");

scanf("%lf",&x);

x=x*PI/180;

temp=x;i=0 ;

while ( fabs(temp) >EX ) ...{

sin += temp;

i += 2;

temp = (-1) * temp*x*x/( (i+1)*(i) );

}

printf("sin(%lf) = %lf ",x,sin);

printf("The number is %d ",i);

return 0;

}

扩展资料

C语言编写一个程序输出一个正方形的源代码如下:

#include 

int main()

{

int i,j,n;

scanf("%d",&n);

for(i=0;i        

printf("*");

else 

printf(" ");

 }

printf("\n");

}

return 0; 
}

回答2:

#include /*字符处理函数的头文件 */
#include /*绘图函数的头文件 */
#include
#define PI 3.14159

void main()
{
double x,y,dt=1.0/2/PI*0.01;
int sx,sy,i;
int gdrver=VGA, gmode=2; /*定义图形模式参数:16色,640×480*/
initgraph(&gdrver,&gmode,"d:\\bc4\\bgi"); /*图形模式驱动函数 */
cleardevice(); /*清理屏幕*/
setbkcolor(BLACK);
setcolor(WHITE); /*设置绘图颜色 */
/*开始画线 */
x=dt; y=sin(dt);
sx=(int)(640.0*dt); sy=(int)(240.0-480.0*y);
line(0,240,sx,sy);
for(i=1;i<100;i++)
{
sx=(int)(640.0*dt); sy=(int)(240.0-480.0*y);
lineto(sx,sy);
}
getch(); /*从键盘输入任意字符 *、
closegraph(); /*关闭绘图模式,回到文本状态 */
}

d:\\bc4\\bgi为图形驱动程序的所在位置,根据你的TC目录来定。

回答3:

以经验看来你是要做单片机方面波形输出,dac输出,或者做模拟示波器什么的。
有两种办法:
一是查表法,优点是计算量少,占用ram少,算法简单,缺点是占用储存内存较多,参数比较固定。
查表法的基本思路就是,通过把sin函数进行采样,得到的值记录成一个表,将表以数组的形式放在程序中,通过循环读取数组的值达到查表的目的。
二是计算值法,优缺点跟查表法恰好相反。
计算值法的基本思路是通过特定算法,将特定时间所需的特定值计算出来。
这里给你提供一个计算值法的核心代码,作为指导建议,根据实际情况修调。
double sinwave(double scale,int cycle_time)
{
int a;
double pi = 3.1416;
int resolution_ratio = 100;//分辨率,描述采样量,越高的分辨率计算越多
for(a=0;a
评论
0
0
加载更多

回答4:

#include
/*字符处理函数的头文件
*/
#include
/*绘图函数的头文件
*/
#include
#define
PI
3.14159
void
main()
{
double
x,y,dt=1.0/2/PI*0.01;
int
sx,sy,i;
int
gdrver=VGA,
gmode=2;
/*定义图形模式参数:16色,640×480*/
initgraph(&gdrver,&gmode,"d:\\bc4\\bgi");
/*图形模式驱动函数
*/
cleardevice();
/*清理屏幕*/
setbkcolor(BLACK);
setcolor(WHITE);
/*设置绘图颜色
*/
/*开始画线
*/
x=dt;
y=sin(dt);
sx=(int)(640.0*dt);
sy=(int)(240.0-480.0*y);
line(0,240,sx,sy);
for(i=1;i<100;i++)
{
sx=(int)(640.0*dt);
sy=(int)(240.0-480.0*y);
lineto(sx,sy);
}
getch();
/*从键盘输入任意字符
*、
closegraph();
/*关闭绘图模式,回到文本状态
*/
}
d:\\bc4\\bgi为图形驱动程序的所在位置,根据你的TC目录来定。