1.问题描述
在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线。
2.问题分析
此问题关键在于余弦曲线在0~360度的范围内,一行要显示两个点。考虑到cos(x)的对称性,将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形是左右对称的。若将图形的总宽度定义为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就应为62-m.程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
3.完整程序
#include <stdio.h>
#include <math.h>
int main(void)
{
int i;
double m,y;
for(y=1;y>=-1;y=y-0.1)
{
m=acos(y)*10;
for(i=1;i<m;i++)
{
printf(" ");
}
printf("*");
for(;i<62-m;i++)
{
printf(" ");
}
printf("*\n");
}
return 0;
}
4.运行结果