算法题目:用C语言实现一个划圆函数(模拟圆)。
编程思路:
- 采用多个for循环嵌套实现;
- 4、5、6行*的个数一样,直接打印,前面几行和后面几行,直接插入左右两边的空格即可。
#include <stdio.h>#define uchar unsigned char void main() { uchar i,j,k; /*用for循环打印 * 成一个圆*/ /*对半分,把一个圆分成两部分,上部分和下部分*/ for(j=0;j<4;j++) { /*每边最多有3个空格*/ for(i=0;i<3-j;i++) printf(" "); /*第一排有12个*,第二排多两个*,第三排又比第二排多两个*,依次类推*/ for(i=0;i<12+2*j;i++) printf("*"); /*打印完一行加一个回车*/ printf("\n"); } /*这一个是中间的那一行,中间的这行有18个* */ for(i=0;i<18;i++) printf("*"); printf("\n"); for(j=0;j<4;j++) { for(i=0;i<j;i++) printf(" "); /*下半部分的第一行有18个*,第二行18-2个*,依次类推*/ for(i=0;i<18-2*j;i++) printf("*"); printf("\n"); } printf("\n"); }
复制代码