飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7038|回复: 12

[C/C++] 打印菱形的设计思路

  [复制链接]
  • TA的每日心情
    开心
    2024-3-7 15:25
  • 签到天数: 442 天

    [LV.9]以坛为家II

    发表于 2010-11-10 17:04:58 | 显示全部楼层 |阅读模式
    本帖最后由 sdnyzjzx 于 2010-11-14 22:01 编辑

    跟着Nisy学习C语言,视频已经到了第五课了,通过一下午努力,终于完成了作业中要求的设计菱形的题目,非常高兴,贴出来请朋友们指点:
    附上自己建的菱形输出 * 位置模型图
    打印菱形的思路分析:

    定义 n--边长  i--第几行  j--第几列

    按行打印输出

    外层实现 i (行) 循环
        当 i<=(n+1)/2 时,
           如果 j=(n+1)/2-(i-1) 或者 j=(n+1)/2+(i-1)
                输出 *
                否则 输出空格
           里层实现 j (列)循环
           当列循环一周时,输出 "\n"换行
       
        当i>(n+1)/2 时(用else 实现)
            如果 j=(n+1)/2-(n-i) 或者 j=(n+1)/2+(n-i)
            输出 *
            否则 输出空格
            里层实现 j (列)循环
           当列循环一周时,输出 "\n"换行

    程序如下:
    main()
    {
    int n;
    int i;
    int j;
    printf("Please input the number of length:");
    scanf("%d",&n);
    printf("\n");
    for (i=1;i <= n;i++)
    {
       printf("     ");
       if(i <= (n+1)/2)
        {
          for (j=1;j <= n;j++)
           {
              if((j == (n+1)/2 - (i-1))||(j == (n+1)/2+(i-1)))
               {
                printf("*");
               }
              else
               {
               printf(" ");
               }
           }
      /*    printf("i=%d j= %d",i,j); */
          printf("\n");
        }
       else
        {
          for (j=1;j <= n;j++)
           {
              if((j == (n+1)/2 - (n-i))||(j == (n+1)/2+(n-i)))
               {
                printf("*");
               }
              else
               {
               printf(" ");
               }
           }
        /*  printf("i=%d j= %d",i,j); */
          printf("\n");
        }
    }
    printf("\n");
    printf("     Thank you everyone ! \n");
    printf("Writen by sdnyzjzx 2010.11.10.");
    }
    菱形位置模型图.GIF
    lx.rar (5.81 KB, 下载次数: 16)
    今天视频学习到06课,制作了一个 带表格的乘法口诀表 ,请指点
    乘法口诀表.jpg
    程序: CFKJ2.rar (4.14 KB, 下载次数: 13)

    评分

    参与人数 1威望 +20 飘云币 +40 收起 理由
    MOV + 20 + 40 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-11-10 17:08:13 | 显示全部楼层
    /:good 厉害!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-11-11 16:20:36 | 显示全部楼层
    多谢分享。菱形和杨辉三角永远是C语言的最爱
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-11-11 19:54:47 | 显示全部楼层
    按你的思路我也写一个:loveliness:
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-11-13 11:37:49 | 显示全部楼层
    不错~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-11-14 12:10:47 | 显示全部楼层
    照这个图来看……这是个正方形……当然也是菱形……/:L
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-11-16 02:02:22 | 显示全部楼层
    嗯,不错。边学习边总结,呵呵。
    PYG19周年生日快乐!
  • TA的每日心情

    2017-3-23 16:53
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2012-3-26 20:58:33 | 显示全部楼层
    呵呵 学习了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-8-1 21:43
  • 签到天数: 55 天

    [LV.5]常住居民I

    发表于 2012-4-15 19:59:51 | 显示全部楼层
    多谢分享。菱形和杨辉三角永远是C语言的最爱
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2012-5-27 19:30:57 | 显示全部楼层
    惭愧,我最近才学的,我算了两天,也就算出上面的,下面输出不会算,看来是没认真看,我还需要努力。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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