用*号输出余弦函数图像中的控制长62是怎么算出来的? (C++)

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:36:11
#include<stdio.h>
#include<math.h>
int main()
{
double y;
int x,m;
for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/
{
m=acos(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/
for(x=1;x<m;x++) printf(" ");
printf("*"); /*控制打印左侧的 * 号*/
for(;x<62-m;x++)printf(" ");
printf("*\n"); /*控制打印同一行中对称的右侧*号*/
}
return 0;
}

这个程序那个62是一个一个试出来的?还有那个乘十放大倍数也是一次一次试出来的吗,那得多麻烦?!!!

你考虑的可能太复杂了
62这个数其实与2π有关,2π = 6.28,一般绘图是为了追求线条平滑,取步长0.1,即从0、0.1、0.2、……6.2实际是63个数,如果从0.1开始取,就是62个数,取这62个数的余弦,然后绘图为一个周期的余弦。

乘十放大倍数是为了避免星号太过重叠。

没有,
在CMD命令窗口中一行没有多少个字符, 为了正确显示