分享

C语言作业(5)打印菱形

 孔实 2017-07-14
菜虾说参考答案只做思路比较,不讨论细节实现。本次作业目的是熟悉for语句的使用。


1、使用 “ * ”打印菱形。(课后习题5-16)

/* 传统思路 */

main()

{ int i,j,k;

  for(i=0;i<=3;i++) /*打印上半部分*/

  {

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

printf(' ');

     for (k=0;k<=2*i;k++)

printf('*');

     printf('\n');

  }

  for(i=0;i<=2;i++)/*打印下半部分*/

  {

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

       printf(' ');

    for(k=0;k<=4-2*i;k++)

       printf('*');

    printf('\n');

  }

}


初级程序猿是如何打印菱形的:

/*定义菱形对角线的长度,即菱形对应二维坐标的大小*/ 

#define Length  7 

main()

{ int x,y;

  int half_len=Length/2;

  for(x=0;x

  { for(y=0;y

    {  /*通过坐标判定是否输出星号,可以扩展输出任意矢量图*/

       if( x + y >= half_len  &&
           x - y <= half_len  &&
           y - x <= half_len  &&
           x + y <= half_len*3
  )

 printf('*');

else

 printf(' ');

    }

     printf('\n');

  }

}


中级和高级程序猿如何写实现呢?暂时保密,下期公布,哈哈!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约