标题:请教:输出 0~360° sin 的图像
只看楼主
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
结帖率:100%
已结贴  问题点数:20 回复次数:1 
请教:输出 0~360° sin 的图像
#include "stdio.h"
#include "math.h"
main()
{
    float x,y;
    int a;
    for(y=1;y>=0;y-=0.1)
    {
        x=asin(y)*10;
        for(a=0;a<x;a++) printf(" ");
        printf("*");
        for(;a<31-x;a++) printf(" ");
        printf("*\n");
    }
    for(y=0.1;y>=-1;y-=0.1)
    {
        x=asin(y)*10;                  
        for(a=0;a<=31;a++) printf(" ");
        for(;a<x;a++) printf(" ");
        printf("*");
        for(;a<62-x;a++) printf(" ");
        printf("*\n");
    }
}
这是我试着写的,一运行只正常显示一半,问题出在哪儿?
搜索更多相关主题的帖子: sin 图像 输出 
2009-08-21 11:09
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
得分:20 
问题出在浮点数比较大小上面了。。。
程序代码:
#include "stdio.h"
#include "math.h"
main()
{
    float x,y;
    int a;
    for(y=1;y>0.099999;y-=0.1)
    {
        x=asin(y)*10;
        for(a=0;a<(int)x;a++) printf(" ");
        printf("*");
        for(;a<(int)(31-x);a++) printf(" ");
        printf("*\n");
    }
    for(y=-0.01;y>-1.000001;y-=0.1) //
    {
        x=asin(y)*(-10); //加了个负号
        for(a=0;a<=(int)(31+x);a++) printf(" ");
        for(;a<x;a++) printf(" ");
        printf("*");
        for(;a<(int)(62-x);a++) printf(" ");
        printf("*\n");
    }
}


浮点数比较大小,好像用等号没啥意义。。
上面我的代码也有点问题,,,,

[ 本帖最后由 soler 于 2009-8-21 19:40 编辑 ]
2009-08-21 13:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-283339-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.287703 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved