飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5870|回复: 4

N大C语言第五课作业:菱形

[复制链接]
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

    发表于 2015-1-21 22:53:47 | 显示全部楼层 |阅读模式
    本帖最后由 geekcat 于 2015-1-21 23:05 编辑

    看完N大C语言视频教学第五课,写一个小程序要求:输入一个正整数打印出一个菱形的图案;
    来交作业,大牛们见笑了代码写的真心不好,部分是分析规律后配出来的:

      LX.rar (14.2 KB, 下载次数: 0)

      #include <stdio.h>

      main()
      {
              int a;
              int b;
              int c;
              int e;
              int n;
              int j;
              int k;
              int m;
              int d = 0;
              int r = 0;
              int p = 0;
              int l = 0;
              int i = 0;

              printf("Places input a number:");
              scanf("%d",&n);
              j = n;
              k = n;
              m = 4*n;
              
              /*半部分*/
              for(a = 1 ; a <= j ; a++)
              {
                      /*左上角边*/
                      for(;k-1 > 0 ;k-- )        
                  {
                         printf(" ");
                  }
                 printf("*");

                 k = n-i-1;
                 i++;
                 
                      /*右上角边*/
                      for(;m > 0 && m< 4*n; m++)
                        {
                               printf(" ");
                        }
                        if(m>n && p)
                        {
                              printf("*");
                        }
                      m = n;                 
                      m = 4*m-(2*p+1);
                      p++;
                      printf("\n");        
              }
              
              /*下半部分*/
              b = n-1;
              c = 0;
              e = m-6;
              
              for(a = 0 ;a < n-1 ;a++)
              {
                      /*左下角边*/
                  for(;b < n ;b++)
                   {
                         printf(" ");
                   }
                      printf("*");
                      r++;
                  b = b - r -1;
                     
                      /*右下角边*/
                      for(;c < e ;c++)
                      {
                              printf(" ");
                      }
                      if(d > n-2 || d < n-2)
                      {
                              printf("*");
                      }
                      c = 0;
                      d++;
                      e = m-6-2*d;
                      printf("\n");
              }
              system("PAUSE");
      }
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-13 20:56
  • 签到天数: 1993 天

    [LV.Master]伴坛终老

    发表于 2015-1-22 00:22:41 | 显示全部楼层
    恭喜兄弟,进步不小啊,膜拜
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-9-18 09:23
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-1-22 09:05:49 | 显示全部楼层
    学习一下,感谢分享了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-14 22:05
  • 签到天数: 2300 天

    [LV.Master]伴坛终老

    发表于 2015-1-22 10:44:31 | 显示全部楼层
    学无止境,共同进取!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-2-26 11:14
  • 签到天数: 459 天

    [LV.9]以坛为家II

    发表于 2015-1-22 20:08:55 | 显示全部楼层
    校长说的很对,逻辑很重要
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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