首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言练习之打印菱形

C语言练习之打印菱形

作者头像
野生的编程萌新
发布2026-01-15 09:21:25
发布2026-01-15 09:21:25
810
举报
文章被收录于专栏:萌新学习日志萌新学习日志

1.问题

输入一个数打印对应的菱形,如图所示:

 2.思路

首先我们要知道这个输入的数只能是奇数,仔细观察图形,可以发现,这个图形中是由空格和*按照不同个数的输出组成的。菱形我们分成上三角和下三角打印,我们定义一个·变量i分别打印上三角和下三角,i是从0开始的,上三角的行数为line,下三角的行数为line-1。line是总共有多少行。上三角中:先输出空格在输出*,每行空格从上往下数一行少一个,每行中*以2*i+1的方式递增。下三角中:先输出*在输出空格,每行空格从上往下数一行多一个,每行中*按照(line-1-i)*2的方式减少。按照上述方式将上三角和下三角中的空格和*打印出来即可。

3.代码实现

代码语言:javascript
复制
#include <stdio.h>
int main()
{
   int line=0;//行数
   scanf("%d",&line);//输入行数
   //打印上三角
   for(int i=0;i<line;i++)
    {
      for(int j=0;j<line-i-1;j++)
       {
         printf(" ");//打印空格
       }
      for(int j=0;j<2*i+1;j++)
       {
         printf("*");//打印*
       }
      printf("\n");//打印完一行后换行
    }
   //打印下三角
   for(int i=0;i<line-1;i++)
    {
      for(int j=0;j<i+1;j++)
       {
         printf(" ");//打印空格
       }
      for(int j=0;j<(line-i-1)*2;j++)
       {
         printf("*");//打印*
       }
      printf("\n");
    }
   return 0;
}

如果大家对某一段代码有问题可以评论或者私信我给大家更为细致的讲解;当然作为一名学生,如果大家有能更为简洁的方法也可以评论出来,让我对代码进行改进,学生是个学习自己生疏地方的一个过程,当然也希望能够提升自己的学识,谢谢您都观看。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.问题
  •  2.思路
  • 3.代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档