C语言绘制sin, circle。

  1 #include <stdio.h>
  2 #include <math.h>
  3 #define pi 3.1415926
  4 void test()
  5 {
  6     int i;
  7     double x;
  8     for(i=0,x=0;i<100;i++,x+=1)
  9     {
 10         printf("[%.2lf,%.2lf]\t",x,sin(2*pi/100*x)*10);
 11         if(i%3 == 0)
 12         {
 13             printf("\n");
 14         }
 15     }
 16     printf("\n");
 17 }
 18 void testC()
 19 {
 20     double x,r,result,y;
 21     r = 5; // r = 40;
 22     y = 0;
 23     while(y < 10)
 24     {
 25         x=0;
 26         int i = 0;
 27         while(x<10)
 28         {
 29             printf("[%.2lf,%.2lf]\t",x,sqrt(r*r-(x-5)*(x-5))+5);
 30             x+=0.1;
 31             if(i++%3 == 0)
 32             {
 33                     printf("\n");
 34             }
 35         }
 36         y+=0.1;//100 dots
 37         printf("\n");
 38     }
 39 }
 40 int PrintSin()
 41 {
 42     //freopen("sin.txt","w",stdout);
 43     double result;
 44     double yn = 0;
 45     while(yn<2)
 46     {
 47         
 48         double xn = 0;
 49         while(xn<2)
 50         {
 51             result = sin((pi)*xn)+1; //T=2
 52             if(fabs(yn-result)<0.1)
 53             {
 54                 printf("*");
 55             }
 56             else
 57             {
 58                 printf(" ");
 59             }
 60             xn+=0.1;
 61         }        
 62         printf("\n");
 63         yn+=0.1;
 64     }
 65     return 0;
 66 }
 67 void PrintCircle()
 68 {
 69     freopen("circle.txt","w",stdout);
 70     double x,r,result,y;
 71     double x_start,x_end,y_start,y_end;
 72     r = 5; // r = 5;
 73     int x_put,y_put;
 74     x_put = 10;
 75     y_put = 10;
 76     x_start = -(r) + x_put;
 77     x_end = r+ x_put;
 78     y_start = -(r) + y_put;
 79     y_end = r + y_put;
 80     y= y_start;
 81     while(y < y_end)
 82     {
 83         x = x_start;
 84         while(x < x_end)
 85         {
 86             result = -sqrt(r*r-(x-x_put)*(x-x_put)) + y_put;
 87             if(fabs(y-result)<0.1)
 88             {
 89                 printf("@");
 90             }
 91             else
 92             {
 93                 printf(" ");
 94             }
 95             result = sqrt(r*r-(x-x_put)*(x-x_put))+y_put;
 96             if(fabs(y-result)<0.1)
 97             {
 98                 printf("@");
 99             }
100             else
101             {
102                 printf(" ");
103             }
104             
105             x+=0.05;            
106         }
107         printf("\n");
108         y+=0.05;//100 dots
109     }
110 }
111 int main()
112 {
113     PrintCircle();
114     return 0;
115 }

 

posted @ 2012-12-19 14:21  svolcano  阅读(300)  评论(0)    收藏  举报