c语言入门简单小题练习之图形打印(第一章)

之前也写过一篇简单小题练习,但后来由于某些不可抗因素而断更(别问,问就是小编忘了有这回事😅,今天才想起来要写),现在继续写相关文章。😜


前言:

在进行c语言入门刷题,难免会碰到图形打印的题目。小编也整理了一些题目,接下来就由我来带领你们一起解决它们吧✊️✊️(本文用两章节内容,主要是第二章内容小编也在学习中,等小编会了之后再写😽😽)


目录:

打印线段图案

打印正方形图案

直角三角形图案

金字塔

翻转直角三角形

带空格的直角三角形

翻转金字塔图案

菱形图案

 

废话不多说,让我们开始学习吧!👊👊


 第一题打印线段图案,先来看题

d8d6c430434e46a2aba12e6d0c075e00.png

 注意题中是多组输入并且是一个整形所以这里我们要用while循环。②针对每行输入,输出占一行。这句话告诉我们,打印一行图形就进行换行。

#include <stdio.h>

int main ()

{

     int n = 0;

      while(~(scanf("%d",&n)))

      {

              int i = 0;

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

               {

                   printf("*");

               }

               printf("\n");

       }

  return 0;

}

到这里就可以在牛客上提交代码了。

第二题打印正方形图案,来,上题513c5f63e9c5456f86c8ff07ef9f115e.png

 第一步还是审题:这里呢和上面一题一样都是多组输入。但是要注意,题中要求每个*后面要有一个空格。这是与上题的不同之处。分析完毕,上代码。

#include<stdio.h>

int main ()

{

    int n = 0;

    while((scanf("%d",&n))!EOF)

    {

           int i = 0;

          for(i=0;i<n;i++)//打印总行数

           {

                 //打印一行代码

                 int j = 0;

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

                 {  

                      printf("* ");

                 }

                 printf("\n");//打印一行就要进行换行

           }

    }

    return 0;

}

ok,接下来提交就好。

第三题打印直角三角形7aeca9907aa24f62926d5c16cfb1ea3f.png

8f00d872bb5b4289ae43af09dfb73f9e.png这题需要注意的点和上一题相似,但不同是这题是打印三角形。 

 

#include<stdio.h>

int main()

{

       int n = 0;

       while(~(scanf("%d",&n)))

        {

               int i = 0;

               for(i=0;i<n;i++)//控制打印总行数

               {

                      int j = 0;

                      for(j=0;j<=i;j++)//打印一行

                     {

                          printf("* ");

                     }

                     printf("\n");//打印一行结束后需要进行换行

               }

        }

   return 0

}

在示例中打印的个数随着i的变化而变化,说明

i控制着j故而可以得出j<i。又因为当i=0时,打印一个*,可知j<=i.综上可得出在for循环中j<=i.这里也是与打印正方形的不同点

第四题打印金字塔图案f26db01dc0ce407ca23bc39ed1fcc3bd.png

be9099fd961a4c84a590ec7eb7eeeacc.png注意事项同上

 

 

#include<stdio.h>

int main()

{

     int n = 0;

     while(~(scanf("%d",&n)))

     {

            int i = 0;

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

            {

                 int j = 0;

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

                  {

                      printf("  ");

                   }

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

                  {

                       printf("* ");

                   }

                   printf("\n");

            }

       }

      return 0;

}//金字塔是由空格加字符组成,所以要打印空格(重要)

我也记不清第几题了,打印翻转直角三角形754e44e6b7c145989fdac480a2c0924d.png

 注意事项同上(我好饿,快饿扁了)

#include<stdio.h>

int main()

{

      int n = 0;

      while(~(scanf("%d",&n)))

     {

           int i = 0;

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

           {

                int j = 0;

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

                {

                       printf("* ");

                }

                printf("\n");

            }

     }

    return 0;

}

下一题,来上饭,打印带空格的直角三角形2d901b3d71ea45deb7f250af1aa1ddc4.png

 这里呢着重突出了带空格,那这个是什么意思呢,来,上图,看图你就明白了8eee88a8770d484a9c7944fd222ab8d6.png

 带空格的意思是,要打印*前面的空格

#include<stdio.h>

int main ()

{

    int n = 0;

    while(~(scanf("%d",&n)))

     {

         int i = 0;

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

         {

             int j = 0;

             for(j=0;j<n-i-1;)

              {

                  printf("  ");

              }

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

              {

                   printf("* ");

              }

               printf("\n");

         }

      }

  return 0;

}

到这里应该没有疑问吧,好哒那下一题bb660ef4330d418cacf071420dc77ced.png

这题也要打印空格

#include<stdio.h>

int main () 

{

     int n = 0;

     while(~(scanf("%d",&n)))

     {

          int i = 0;

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

          {

               int j = 0;

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

               {

                    printf("  ");

               }

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

               {

                    printf("* ");

               }

               printf("\n");

          }

     }

  return 0;

}

终于到了最后一道题,我真的快饿扁了df964a7a3a36445c8bfc07219e94384e.png

488a4d72341c4eccaa2a4e47270f8c0e.png 

废话不多说,直接上代码

#include<stdio.h>

int main()

{

      int n = 0;

      while(~(scanf("%d",&n)))

      {

            int i = 0;

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

            {

                  int j = 0;

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

                  {

                      printf("  ")

                  }

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

                 {

                       printf("* ");

                  }

                 printf("\n");

            }

           for(i=0;i<n+1;i++)

           {

                int j = 0;

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

                {

                      printf("  ");

                 }

                 for(j=0;j<n+1-i;j++)

                 {

                        printf("* ");

                 }

                 printf("\n");

           }

      }

 return 0;

}

打印菱形可以分为两部分打印,你品,你细品😬

结束了🤗🤗


  •  要是我哪里代码写错了,请多多包涵。不要问为什么不用已经写好的截图,问就是我忘了😂写完这篇博客了才发现自己原来可以用截图
  • 创作不易还望各位看官老爷点点赞点点关注😘😘

 

 

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值