万花尺相信很多人小时候都玩过吧,将一个满是齿牙的小圆套在一个大圆里面,用笔放进小圆的洞里,然后转圈圈画,就可以画出很多美丽有趣的图案。这个程序就是万花尺的模拟程序。

下面是几组数据和执行效果的抓图:

代码展示:


// 程序名称:万花尺(又名万花规)模拟程序
// 编译环境:Visual C++ 6.0,EasyX 2011#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PI 3.1415926536void main()
{int R;     // 外部静圆半径int r;     // 内部动圆半径int dr;        // 内部动圆上的作图点到圆心的距离begin:// 获取用户输入printf("请输入外部静圆半径(小于 240):");scanf("%d",&R);printf("请输入内部动圆半径(小于静圆半径):");scanf("%d",&r);printf("请输入内部动圆上的作图点到圆心的距离(小于动圆半径):");scanf("%d",&dr);system("cls");// 求执行次数(最小公倍数/静圆半径)int m = R, n = r;int tmp;while(n != 0){tmp = m % n;m = n;n = tmp;}double maxdegree = r / m * 2 * PI;// 初始化initgraph(640, 480);   // 创建绘图窗口setorigin(320, 240);   // 设定圆心坐标// 绘图int x, y;for(double degree = 0; degree < maxdegree; degree += 0.01){x = (int)(dr * cos(degree*(double(R) / r - 1)) + (R - r) * cos(degree));y = (int)(dr * sin(degree*(double(R) / r - 1)) - (R - r) * sin(degree));putpixel(x, y, GREEN);}outtextxy(-320, 220, _T("绘制完毕,按 ESC 退出,按其他键重新开始"));// 重新开始,或退出程序char c = getch();closegraph();if (c != 27) goto begin;
}

END


自学编程的小伙伴们不容易,在学习编程的路上会遇到很多瓶颈,甚至会感到迷茫,为此我给大家整理了一些资源福利,都放在下方啦,还可以和群里的小伙伴们一起来学习交流嗷~

C/C++编程学习基地https://jq.qq.com/?_wv=1027&k=EcWDuljX

C语言万花尺模拟程序相关推荐

  1. c语言计算器模拟程序,【C语言】 模拟计算器

    #include #include int _add(int a, int b) { return a + b; } int _sub(int a, int b) { return a - b; } ...

  2. Linux桌面操作系统性能分析学习总结

    1.什么是计算机性能 所谓计算机的性能(Performance)通常是指计算机的速度,它是程序执行时间的倒数.而程序执行时间是指用户向计算机送入一个任务后,直到获得他需要的结果这一段等待时间. 包括: ...

  3. c语言atm程序个人总结,自己写的ATM模拟程序

    已结贴√ 问题点数:15 回复次数:12 自己写的ATM模拟程序 我是一个初学C语言的,今天写了一个ATM模拟程序!有什么问题的话请各位指点一下! #include #include #include ...

  4. 用EasyX图形库编写动态彩色万花尺程序(c语言)

    用EasyX图形库编写动态彩色万花尺程序(c语言) 在EasyX看到别人写的万花尺程序,想起来小时候玩的,就动手改进增加了一些效果.参考程序连接(侵删):万花尺_慢羊羊 我的效果如下,输入数据:[30 ...

  5. 操作系统课程设计——进程调度模拟程序(JAVA语言实现)

    本科期间的一些学习回忆记录(自己用) 一.课程设计的任务和要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现.要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算法模拟程序.  具体 ...

  6. 用C语言或C++编写一个简单的银行家算法模拟程序

    1.问题描述 银行家算法是操作系统中避免死锁的典型算法.用C语言或C++编写一个简单的银行家算法模拟程序,实现多个进程争用系统临界资源时的分配过程.要求程序实现: 1.当一进程请求一组资源时,先确定是 ...

  7. 内存管理模拟程序c语言,C语言 内存管理详解

    本文出自: 伟大的Bill Gates曾经失言: 640K ought to be enough for everybody -Bill Gates 1981. 程序员们经常编写内存管理程序,往往提心 ...

  8. c语言画图 钟表模拟程序,图形模拟时钟C语言课程设计

    图形模拟时钟C语言课程设计 更新时间:2017/2/2 9:03:00  浏览量:640  手机版 学号13082101182014-2015学年第二学期 <高级语言程序设计> 课程设计报 ...

  9. c语言编写银行业务模拟程序,C语言数据结构实现银行模拟

    C语言数据结构实现银行模拟 实现代码: #include #include #include #define MAX_WIN 20 #define MAX_STAY 100 typedef struc ...

最新文章

  1. RDKit toolkit实战二:Generating Similarity Maps Using Fingerprints
  2. 模糊选择器 js_5个很棒的 React.js 库,值得你亲手试试!
  3. 华为云发布全新DevOps实践,大幅提升交付效率
  4. java文件处理之压缩,分割
  5. Ubuntu挂载新硬盘
  6. C/C++函数学习(6)容器分类
  7. 重绘(redraw或repaint),重排(reflow)
  8. Ubuntu18.04解决sudo执行慢的问题
  9. java后端AppV3版本微信支付CV大法2021-11-12
  10. 谷歌成功利用一台 54 量子比特的量子计算机
  11. php订阅号网页登录,微信订阅号怎么使用网页授权登录
  12. my live PC / ThinkCentre M920x Tiny / ThinkStation P330 Tiny / Thinkpad yoga 12 vPro
  13. 做修改时,html各种类型选中状态
  14. 算法导论学习笔记1_循环不变式
  15. ubuntu 下tftp服务器配置笔记
  16. 学术写作常用的网站和软件总结(含Copytranslator+Grammarly+Academic Prasebank+QuillBot)
  17. 打造ChatGPT的团队:平均年龄32岁!华人成员:清北+名校深造
  18. 做公众号,这些事别去碰,碰就是死
  19. ZRender (Canvas)简单使用(拖拽、缩放、旋转、文字、层级)
  20. Go字符串 【Go语言圣经笔记】

热门文章

  1. [filelock] DEBUG: Attempting to acquire lock 1953841203184 on D:\D
  2. Unity 批量修改场景预制体,删除空Animation组件
  3. POJ 3201-Little Quilt(大模拟)
  4. 记:《洛克菲勒留给儿子的38封信》-- 1
  5. 极简主义的思想内核-奥卡姆剃刀原则
  6. Flink处理迟到数据的几种方式
  7. R语言使用单个向量创建矩阵数据、通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式
  8. php://input 和 $HTTP_ROW_POST_DATE
  9. 【前端】HTML Manual-HTML入门手册
  10. 蓝桥杯13-20届真题答案和解析(Java 大学 B 组)2013年省赛真题3_振兴中华