设为首页收藏本站language 语言切换
查看: 1026|回复: 0
收起左侧

[分享] C语言的算法之:画圆函数

[复制链接]
发表于 2022-8-5 09:32:28 | 显示全部楼层 |阅读模式

今天一起分析C语言的算法之:画圆函数。

 
算法题目:用C语言实现一个划圆函数(模拟圆)。


                         1.编程思路分析

编程思路: 


1、采用多个for循环嵌套实现;


2、4、5、6行*的个数一样,直接打印,前面几行和后面几行,直接查左右两边的空格即可。


                       2.程序范例


#include <stdio.h>

#define uchar unsigned char

void main()

{

&#160; uchar i,j,k;

&#160;&#160;/*用for循环打印 * 成一个圆*/

&#160;/*对半分,把一个圆分成两部分,上部分和下部分*/

&#160; for(j=0;j<4;j++) &#160;&#160;&#160;
&#160; {
&#160; &#160;/*每边最多有3个空格*/

&#160; &#160;for(i=0;i<3-j;i++)&#160;

&#160; &#160;printf(" ");

&#160; &#160;/*第一排有12个*,第二排多两个*,第三排又比第二排多两个*,依次类推*/

&#160; &#160;for(i=0;i<12+2*j;i++) &#160;&#160;

&#160; &#160;printf("*");

&#160; &#160;/*打印完一行加一个回车*/

&#160; &#160;printf("\n"); &#160;&#160;&#160;&#160;&#160;

}

/*这一个是中间的那一行,中间的这行有18个* */

for(i=0;i<18;i++) &#160;&#160;&#160;&#160;

printf("*");

printf("\n"); &#160;&#160;

for(j=0;j<4;j++)

{

for(i=0;i<j;i++)

printf(" ");

/*下半部分的第一行有18个*,第二行18-2个*,依次类推*/

for(i=0;i<18-2*j;i++) &#160;

printf("*");

printf("\n");

}

printf("\n");

}


程序运行结果案例:

C:\Users\Administrator\Desktop\微信图片_20220805091100.jpg
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-1 14:54 , Processed in 0.052054 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表