109.复平面作图
        【摘要】 
                    #include <stdio.h>#include <math.h>  void oplot(n,x,y) /*作图函数,这里使用DOS的文本模式画图*/int n;double x[],y[];{	int i, j;	char screen[25][80]; /*声明一个字符型数组,用来表示屏幕的输出*/	m...
    
    
    
    
  
   - 
    
     
    
    
     
      #include <stdio.h>
     
    
- 
    
     
    
    
     
      #include <math.h>
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      void oplot(n,x,y) /*作图函数,这里使用DOS的文本模式画图*/
     
    
- 
    
     
    
    
     
      int n;
     
    
- 
    
     
    
    
     
      double x[],y[];
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
     	int i, j;
     
    
- 
    
     
    
    
     	char screen[25][80]; /*声明一个字符型数组,用来表示屏幕的输出*/
     
    
- 
    
     
    
    
     	memset(screen, ' ', 25*80);  /*将数组整体赋值为空格*/
     
    
- 
    
     
    
    
     	/*画x轴*/
     
    
- 
    
     
    
    
     	for( i = 0; i <79; i++)
     
    
- 
    
     
    
    
     
      		screen[10][i] = '-';
     
    
- 
    
     
    
    
     
      	screen[10][79] = 'X';
     
    
- 
    
     
    
    
     	/*画y轴*/
     
    
- 
    
     
    
    
     	for( i = 1; i <25; i++)
     
    
- 
    
     
    
    
     
      		screen[i][40] = '|';
     
    
- 
    
     
    
    
     
      	screen[0][40] = 'Y';
     
    
- 
    
     
    
    
     	/*将符合条件的点(x,y)赋值成星号*/
     
    
- 
    
     
    
    
     	for( i = 0; i < n; i++)
     
    
- 
    
     
    
    
     
      		screen[(int)(x[i]+10)][(int)(y[i]*2+40)] = '*';
     
    
- 
    
     
    
    
     	/*输出数组,在屏幕上画图*/
     
    
- 
    
     
    
    
     	for( i = 0; i < 25; i++)
     
    
- 
    
     
    
    
     		for( j = 0; j <80; j++)
     
    
- 
    
     
    
    
     			printf("%c", screen[i][j] );
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      main()
     
    
- 
    
     
    
    
     
      {
     
    
- 
    
     
    
    
         int points,k;
     
    
- 
    
     
    
    
         double x[50], y[50], angle, portion;
     
    
- 
    
     
    
    
         clrscr();
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      	points = 40; /*一共画40个点*/
     
    
- 
    
     
    
    
     
      	portion = 4.0 * M_PI / points; /*将720度分成40份。*/
     
    
- 
    
     
    
    
     	/*下边是求点的计算*/
     
    
- 
    
     
    
    
     	for (k=0; k<points; k++)
     
    
- 
    
     
    
    
     
      	{
     
    
- 
    
     
    
    
     
      		angle=k * portion; /*求出角度*/
     
    
- 
    
     
    
    
     
      		x[k]=2.0+angle*cos(angle); /*x,也就是复数的实部*/
     
    
- 
    
     
    
    
     
      		y[k]=angle*sin(angle); /*y,即复数的虚部*/
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
         oplot(points,x,y); /*对所求出的点作图*/
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
         getch();
     
    
- 
    
     
    
    
     
      }
     
    
 
 文章来源: blog.csdn.net,作者:程序员编程指南,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_41055260/article/details/124576334
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
            
 
           
评论(0)