[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理脚本实现C语言趣味编程百例003:绘制圆

本帖最后由 jinzeyu 于 2012-2-29 10:24 编辑

用批处理在屏幕上用“*”画一个空心的圆
加分:1个技术分
*问题分析与算法设计
打印圆可利用图形的左右对称性。根据圆的方程:
R*R=X*X+Y*Y
可以算出圆上每一点行和列的对应关系。
*程序说明与注释
  1. #include<stdio.h>
  2. #include<math.h>
  3. int main()
  4. {
  5. double y;
  6. int x,m;
  7. for(y=10;y>=-10;y–)
  8. {
  9. m=2.5*sqrt(100-y*y); /*计算行y对应的列坐标m,2.5是屏幕纵横比调节系数因为屏幕的
  10. 行距大于列距,不进行调节显示出来的将是椭圆*/
  11. for(x=1;x<30-m;x++) printf(" "); /*图形左侧空白控制*/
  12. printf("*"); /*圆的左侧*/
  13. for(x<30+m;x++) printf(" "); /*图形的空心部分控制*/
  14. printf("*\n"); /*圆的右侧*/
  15. }
  16. return 0;
  17. }
复制代码
*备注:sqrt是C语言中计算平方根的函数 详情请看平方根计算
*思考题
实现函数y=x2的图形与圆的图形叠加显示

回复 2# batman


    只是像一个圆......

TOP

回复 4# batman


    额 这个应该是八边形...

TOP

回复 4# batman


    在我这里是这样的:
              *      *

          *              *



          *              *

              *      *

TOP

回复 7# batman


    好 这回像个圆了.........

TOP

本帖最后由 jinzeyu 于 2012-2-29 12:47 编辑
修改if !r! leq 5中的5,可以得到很多种“圆”
batman 发表于 2012-2-29 12:18



    我认为5是最好的

TOP

返回列表