当前位置: 首页 > news >正文

C语言 棱形图案

目录

 一、问题分析

上部分:

下部分:

 二、代码演示


 

 一、问题分析

如上图所示,我们可以将棱形进行拆解,分为上下两个部分。

上部分:

 通过观察,我们得到   单边空格数 =  上半部分总行数   -   行数  - 1  

而   星号 =  行数 × 2   + 1

所以我们设  line  为上半部分总行数   i 为行数 。

那么代码如下:

	for(i=0; i<line; i++){//打印一行//打印空格int j = 0;for(j=0; j<line-1-i; j++){printf(" ");//打印空格}//打印*for(j=0; j<2*i+1; j++){printf("*");//打印星号}printf("\n");}

下部分:

通过观察,我们得知   下半部分的   单边空格数 = 行数  

下半部分的  星号 =  (下半部分总行数 - 行数 )× 2 - 1

于是我们可以设 下半部分总行数为  上半部分行数-1  也就是 line  -1  , i为行数

那么代码如下:

	for(i=0; i<line-1; i++){//打印一行int j = 0;for(j=0; j<=i; j++){printf(" ");//打印空格}for(j=0; j<2*(line-1-i)-1; j++){printf("*");//打印星号}printf("\n");}

 二、代码演示

int main()
{int line = 0;int i = 0;scanf("%d", &line);//7//打印上半部分for(i=0; i<line; i++){//打印一行//打印空格int j = 0;for(j=0; j<line-1-i; j++){printf(" ");}//打印*for(j=0; j<2*i+1; j++){printf("*");}printf("\n");}//打印下半部分for(i=0; i<line-1; i++){//打印一行int j = 0;for(j=0; j<=i; j++){printf(" ");}for(j=0; j<2*(line-1-i)-1; j++){printf("*");}printf("\n");}return 0;
}

http://www.lryc.cn/news/122497.html

相关文章:

  • 在idea使用GitHub账号、Copilot异常
  • 面试热题(反转字符串中的单词)
  • Stable Diffusion WebUI 从零基础到入门
  • 【uniapp】一文读懂app端安装包升级
  • 【算法题】2518. 好分区的数目
  • 编写守护进程
  • stable-diffusion-webui启动No Python at ‘C:\xxx\xxx\python.exe‘
  • 面试热题(合并两个有序列表)
  • QT生成Word PDF文档
  • 阿里云服务器搭建WordPress建站教程基于Windows系统
  • 动态链接(8/11)
  • Python 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息
  • 干不完根本干不完,我也不想加班,快来围观时间管理大师
  • 常见设计模式
  • Android之版本号、版本别名、API等级对应关系(全)(一百六十二)
  • Redis的简介,安装(Linux、Windows),配置文件的修改---详细介绍
  • Vscode-工具使用
  • Ceph Reef版本 RBD 性能测试:80万写IOPS(10节点、60个NVMe SSD)
  • 微信小程序调用map数据 并在wxml中对数组进行截取的操作
  • 前端项目打包
  • venv使用教程及pyvenv与python3-venv的区别
  • 协程(一)单机--》并发--》协程
  • P1722 矩阵 II
  • 【数据结构】树和二叉树的概念及结构
  • 8.1.tensorRT高级(3)封装系列-模型编译过程封装,简化模型编译代码
  • 化工行业案例 | 甄知科技助力万华化学重构IT服务价值,打造信息中心ERP!
  • day6 STM32时钟与定时器
  • 【JavaEE进阶】SpringBoot 配置文件
  • ResNet创新点总结
  • Scratch 之 3D 介绍及教程