大一老师教我们最浅显的C语言入门,几天前使用老笔记本时翻看资料时找到了当年的入门作业,今天分享给大家看下。
算法题目:用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");
  • }
  • 复制代码
    get?code=MWFlNjRkNzE1MWZiODU1YTgxODY3YjBmNmJiNTk1ZmUsMTY3Nzk0NjgzNzgxNw==.jpg