正弦曲线 绘制

xufans 2009-06-13 11:42:36
输入2个整数,指定x的定义域,然后用“*”绘制出该定义域内的sin(x)曲线
...全文
123 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xufans 2009-06-14
  • 打赏
  • 举报
回复
如何用,能否给出实现方法
breezes2008 2009-06-14
  • 打赏
  • 举报
回复
在文本模式下画效果太差,因为点的精度失准。
图形模式(以前写的):#include "stdio.h"
#include "graphics.h"
#include "math.h"
#define PI 3.14159
static double th=PI/180;
void init(void);
void draw(void);
void close(void);
int main()
{
init();
draw();
close();
return 0;
}
void init(void)
{
int gr=DETECT,gm;
initgraph(&gr,&gm,"c:\\turboc2");
cleardevice();
setcolor(RED);
line(0,200,400,200);/*x、y坐标轴*/
line(200,0,200,400);
}
void close(void)
{
getch();
closegraph();
}

void draw(void)
{
double i;
double x1,y1;
moveto(200,200);
for(i=-180;i<=180;i+=0.001)
{
x1=i+200;
y1=-(100*cos(i*th)-200);/*画余弦*/
putpixel(x1,y1,GREEN);
}
}
太乙 2009-06-14
  • 打赏
  • 举报
回复
matlab最爽
zhangyu19921228 2009-06-14
  • 打赏
  • 举报
回复
晕!
tlx20093A 2009-06-14
  • 打赏
  • 举报
回复
void 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");
}
}
沙漠里的海豚 2009-06-14
  • 打赏
  • 举报
回复
在屏幕上用“*”显示0-360度的余弦函数sin(x)曲线。
1.

/**//*
sin() line.
62 of line width
*/

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

int main(void)
...{
int j ,k,d,h;
double i ;

for(i=1.0 ; i> 0.0; i-=0.1)
...{
k = (int)(asin(i)*10) ;

for(j=0; j< k ; j++) /**//*print the left */
printf(\" \");
printf(\"*\");
for( ; j< 31-k ; j++)
printf(\" \");
pathuang68 2009-06-14
  • 打赏
  • 举报
回复
这个题目用图形方式很简单。用字符"*"方式那还是有点难度的!
hjzwl1018 2009-06-13
  • 打赏
  • 举报
回复
这个就是用循环控制,好像C语言100例中就有这个编程题,搜索一下

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧