c程序基本算法百例之三—绘制圆
2011-05-09 18:58
330 查看
#include<stdio.h> #include<math.h> main( ) { double y; int x,m; for(y=10;y>=-10;y--) //圆的半径为10 { m=2.5*sqrt(100-y*y);//计算y对应的列坐标m,2.5是屏幕纵横比调节系数,因为屏幕的行距大于列距,不进行调节显示出来的是椭圆 for(x=1;x<30-m;x++)printf(" ");//图形左侧空白控制 printf("*"); //圆的左侧 for(;x<30+m;x++)printf(" "); //圆的空心部分控制 printf("*/n"); //圆的右侧 } } /* -------------------------------------------------------------------------------------------- ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** Process returned 256 (0x100) execution time : 0.688 s Press any key to continue. -------------------------------------------------------------------------------------------- */
思考题:实现函数y=x²的图形与圆的图形叠加显示。
解答:
#include <stdio.h> #include <math.h> #define R 10 #define LINE 62 #define HIGHT 20 int main() { double y; int layer,x,m,n; for( layer=HIGHT; layer>=-R; --layer) { y=layer; m=(int)(2.5*sqrt(R*R-y*y)); n=(int)( 5*sqrt(y)); for(x=0; x<LINE; ++x) { if(y>=0) { if(y>R) { if (x==31+n || x==31-n) printf("$"); else printf(" "); } else { if ((x==31+m && x==31+n)|| (x==31-m && x==31-n)) printf("+"); else if (x==31+m || x==31-m) printf("*"); else if (x==31+n || x==31-n) printf("$"); else printf(" "); } } else { if (x==31+m || x==31-m) printf("*"); else printf(" "); } } printf("/n"); } return 0; } /* output: --------------------------------------------------------------------------- $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * $ $ * * $ $ * * $ $ * * $ + + *$ $* * $ $ * * $ $ * * $ $ * * $ $ * * $ * * * * * * * * * * * * * * * * * * * * Process returned 0 (0x0) execution time : 0.141 s Press any key to continue. ----------------------------------------------------------------------------- */
相关文章推荐
- c程序基本算法百例之一—绘制余弦曲线
- c语言基本算法程序百例之十—数值转换
- c语言基本算法程序百例之九—杨辉三角形
- c程序基本算法百例之六—高次方数的尾数
- c程序基本算法百例之二—绘制余弦曲线和直线
- c程序基本算法百例之七—阶层尾数零的个数
- c程序基本算法百例之四—歌手大奖赛评分
- c程序基本算法百例之五—求最大公约数
- c程序基本算法百例之八—借书方案知多少
- 一个应用单链表基本算法的综合程序
- 编写程序,实现顺序栈的创建、进栈和出栈等基本操作算法。
- 一个应用二叉树基本算法的程序 zz
- Breaseman算法绘制圆形|中点算法绘制圆形_程序片段
- C语言算法和三种基本程序结构
- 中国象棋程序的设计与实现(十二)--棋盘绘制算法(尽管注释非常详细,完全理解仍有难度)
- 一个应用二叉树基本算法的程序
- 中国象棋程序的设计与实现(十二)--棋盘绘制算法(尽管注释非常详细,完全理解仍有难度)
- 一个应用单链表基本算法的程序
- 中国象棋程序的设计与实现(十二)--棋盘绘制算法(尽管注释非常详细,完全理解仍有难度)
- 算法是如何影响程序编码方式的 - 基本排序算法