109.复平面作图

举报
C语言与CPP编程 发表于 2022/05/05 23:47:55 2022/05/05
【摘要】 #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...

  
  1. #include <stdio.h>
  2. #include <math.h>
  3. void oplot(n,x,y) /*作图函数,这里使用DOS的文本模式画图*/
  4. int n;
  5. double x[],y[];
  6. {
  7. int i, j;
  8. char screen[25][80]; /*声明一个字符型数组,用来表示屏幕的输出*/
  9. memset(screen, ' ', 25*80); /*将数组整体赋值为空格*/
  10. /*画x轴*/
  11. for( i = 0; i <79; i++)
  12. screen[10][i] = '-';
  13. screen[10][79] = 'X';
  14. /*画y轴*/
  15. for( i = 1; i <25; i++)
  16. screen[i][40] = '|';
  17. screen[0][40] = 'Y';
  18. /*将符合条件的点(x,y)赋值成星号*/
  19. for( i = 0; i < n; i++)
  20. screen[(int)(x[i]+10)][(int)(y[i]*2+40)] = '*';
  21. /*输出数组,在屏幕上画图*/
  22. for( i = 0; i < 25; i++)
  23. for( j = 0; j <80; j++)
  24. printf("%c", screen[i][j] );
  25. }
  26. main()
  27. {
  28. int points,k;
  29. double x[50], y[50], angle, portion;
  30. clrscr();
  31. points = 40; /*一共画40个点*/
  32. portion = 4.0 * M_PI / points; /*将720度分成40份。*/
  33. /*下边是求点的计算*/
  34. for (k=0; k<points; k++)
  35. {
  36. angle=k * portion; /*求出角度*/
  37. x[k]=2.0+angle*cos(angle); /*x,也就是复数的实部*/
  38. y[k]=angle*sin(angle); /*y,即复数的虚部*/
  39. }
  40. oplot(points,x,y); /*对所求出的点作图*/
  41. getch();
  42. }

文章来源: blog.csdn.net,作者:程序员编程指南,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41055260/article/details/124576334

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。