|
今天一起分析C語言的算法之12:畫圓函數(shù)。
算法題目:用C語言實(shí)現(xiàn)一個(gè)劃圓函數(shù)(模擬圓)。
1.編程思路分析
編程思路:
1、采用多個(gè)for循環(huán)嵌套實(shí)現(xiàn);
2、4、5、6行*的個(gè)數(shù)一樣,直接打印,前面幾行和后面幾行,直接查左右兩邊的空格即可。
2.程序范例
#include <stdio.h>
#define uchar unsigned char
void main()
{
uchar i,j,k;
/*用for循環(huán)打印 * 成一個(gè)圓*/
/*對(duì)半分,把一個(gè)圓分成兩部分,上部分和下部分*/
for(j=0;j<4;j++)
{
/*每邊最多有3個(gè)空格*/
for(i=0;i<3-j;i++)
printf(" ");
/*第一排有12個(gè)*,第二排多兩個(gè)*,第三排又比第二排多兩個(gè)*,依次類推*/
for(i=0;i<12+2*j;i++)
printf("*");
/*打印完一行加一個(gè)回車*/
printf("\n");
}
/*這一個(gè)是中間的那一行,中間的這行有18個(gè)* */
for(i=0;i<18;i++)
printf("*");
printf("\n");
for(j=0;j<4;j++)
{
for(i=0;i<j;i++)
printf(" ");
/*下半部分的第一行有18個(gè)*,第二行18-2個(gè)*,依次類推*/
for(i=0;i<18-2*j;i++)
printf("*");
printf("\n");
}
printf("\n");
}
程序運(yùn)行結(jié)果案例:
|
|