趣味C程序100.1 .2 绘制正弦曲线

说明:1.本问题来源于《C语言经典、趣味、实用程序设计编程百例精解》,所有程序为本人自己编写。与原程序不同之处作有标记。

        2.本系列所有程序均使用codeblocks编译,操作系统为Windows XP。

问题:在屏幕上用“*”显示0~360度的正弦函数sin(x)曲线(不使用数组)

分析:同余弦函数,难点在于控制台程序按行输出。另外,使用反正弦函数求值时,值域是[-pi/2,pi/2]。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void)
{
    int radian; //10倍弧度
    double y;  //y为y轴,值为-1到+1,步长为0.1;
    int x; //用62列值代表x轴;62来源于2Pi*10约等于2*3.1*10;

    //用反正弦值求x更加方便于按行输出
    for(y=1; y>=-1; y-=0.1)
    {
        radian=asin(y)*10;

        for(x=0;x<=62;x++)
        {
            if((x==radian)||(x==(31-radian)||(x==radian+61))) //反余弦函数值域[0,pi]
                printf("*");
            else if(radian==0)
                printf("-");
            else
                printf(" ");

        }
        printf("\n");
    }

    return 0;
}

图1. 本程序运行图片

posted @ 2015-02-03 13:56  龙格泽月  阅读(912)  评论(0编辑  收藏  举报