逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
因为在终端里输出,只能往前,往下输出的特性,所以要移用对称性来实现输出正玄,余玄图案。

#include <stdio.h>

#include <math.h>


int main() {

    double y;

    int x, f, i;

    

    /* 输出正玄, 单调区间 x: [-pi/2, pi/2], y: [-1, 1] */

    /* 要分成两个部分来计算输出 */

    for (y = 1; y > 0; y -= 0.1) {

        x = asin(y) * 10;

        

        for (i = 1; i < x; ++i) printf(" ");

        printf("*");

        for (; i < 32 - x; ++i) printf(" ");

        printf("*\n");

    }

    

    for (y = 0; y >= -1; y -= 0.1) {

        x = asin(y) * 10; /* x是负值 */

        

        for (i = 1; i < 34 - x; ++i) printf(" ");

        printf("*");

        for (; i < 66 + x; ++i) printf(" ");

        printf("*\n");

    }

    

    printf("\n\n");

    

    /* 输出余玄, 单调区间 x: [0, pi], y: [1, -1] */

    for (y = 1; y >= -1; y -= 0.1) {

        x = (int)(acos(y) * 10);

        

        for (i = 0; i <= 64; ++i) {

            if (i == x || i == 64 - x) {

                printf("*");

            } else {

                printf(" ");

            }

        }

        printf("\n");

    }

}


posted on 2010-11-07 06:40 逛奔的蜗牛 阅读(392) 评论(0)  编辑 收藏 引用 所属分类: C/C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理