Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2538666
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2012-03-30 08:27:31

在屏幕上显示0-360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。
其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。
其实该图画的绘制,需要调用math.h头文件,进行计算和绘画。当余弦曲线和直线相交时,
则其x,y值相同,代码如下:

点击(此处)折叠或打开

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

  3. int main(int argc, char *argv[])
  4. {
  5.     double y;
  6.     int x,m,n,yy;
  7.     for(yy=0; yy<=20; yy++){
  8.         y = 0.1 * yy;
  9.         m = acos(1-y)*10;
  10.         n = 45 * (y-1) + 31;
  11.         for(x=0; x<=62; x++){
  12.             if(x==m && x==n)
  13.                 printf("+");
  14.              else if(x == n)
  15.                 printf("+");
  16.             else if(x==m || x == 62-m)
  17.                 printf("*");
  18.             else
  19.                 printf(" ");
  20.         }

  21.         printf("\n");
  22.     }
  23.     
  24.     return 0;
  25. }
     如果Linux操作系统上时,使用gcc编译器对程序进行编译时,需要注意,
因为gcc默认不追加对math的库函数引用,因此使用下面的编译参数
$ gcc 2.c -lm




阅读(3441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~