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

C语言题目:用“*”作为元素打印菱形

代码解释:打印菱形图案

        这段代码用于在控制台打印一个由星号(*)组成的菱形图案。菱形总共有13行,具有对称性。以下是代码的详细解释:

代码结构分析

1. 主循环

for (int i = 0; i < 13; i++)

2. 上半部分处理(i <= 6)

if (i <= 13 / 2) // 13/2 = 6(整数除法)
{for (int j = 0; j < 13; j++){if (j == 13 / 2 - i) // 计算星号起始位置{int k = 2 * i + 1; // 计算当前行星号数量while (k){printf("*");k--;}}else{printf(" "); // 打印空格}}printf("\n"); // 换行
}
  • 处理菱形的上半部分(包括中间行);

  • 每行星号数量:2*i + 1(递增);

  • 星号起始位置:6 - i(从中心向左移动)。

3. 下半部分处理(i > 6)

else
{for (int j = 0; j < 13; j++){if (j == i - 13/2) // 计算星号起始位置{int k = 2 * (13 - i) - 1; // 计算当前行星号数量while (k){printf("*");k--;}}else{printf(" "); // 打印空格}}printf("\n"); // 换行
}
  • 处理菱形的下半部分;

  • 每行星号数量:2*(13-i) - 1(递减);

  • 星号起始位置:i - 6(从左边向右移动)。

图案特点

  1. 对称性:菱形上下对称,左右对称;

  2. 最大宽度:中间行(第6行)有13个星号;

  3. 最小宽度:首行和末行各有1个星号;

  4. 总行数:13行。

输出示例

执行这段代码将输出如下菱形图案:

      *      ***     *****    *******   *********  *********** 
************************ *********  *******   *****    ***     *      

算法思路

  1. 将菱形分为上下两个部分处理;

  2. 上半部分:星号数量递增,起始位置向左移动;

  3. 下半部分:星号数量递减,起始位置向右移动;

  4. 使用空格填充非星号位置,形成菱形形状。

参考代码:

#include <stdio.h>int main()
{for (int i = 0; i < 13; i++){if (i <= 13 / 2){for (int j = 0; j < 13; j++){if (j == 13 / 2 - i){int k = 2 * i + 1;while (k){printf("*");k--;}}else{printf(" ");}}printf("\n");}else{for (int j = 0; j < 13; j++){if (j == i-13/2){int k = 2 * (13-i) - 1;while (k){printf("*");k--;}}else{printf(" ");}}printf("\n");}}return 0;
}

运行结果:

http://www.dtcms.com/a/390613.html

相关文章:

  • Redis的java客户端(SpringDataRedis)
  • Amazon Aurora DSQL:分布式无服务器数据库的下一场革命
  • TVS管频繁损坏,是参数错选还是布局出问题?-ASIM阿赛姆
  • 论文阅读:TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
  • 医疗行业淘汰赛开始了?医疗器械售后维修是否会有影响?
  • 第二部分:VTK核心类详解(第40章 vtkIdList ID列表类)
  • Elasticsearch的自定义score评分
  • 【软考-系统架构设计师】架构权衡分析方法(ATAM)
  • 信息系统项目的成本管理
  • Python进阶指南7:排序算法和树
  • 深入理解 HashMap的数据结构
  • ArcGIS前后两期数据库对比工具
  • React18学习笔记(三) ReactRouter----React中的路由
  • [cesium] vue3 安装cesium方法
  • 埃文科技亮相华为全联接大会2025 联合鲲鹏发布AI使能平台解决方案 共筑AI产业新生态
  • Linux 桌面环境GNOME 49 释出
  • react/umi,浏览器tab设置
  • langchain-PipelinePromptTemplate
  • git 本地仓库与远程仓库链接
  • 绘想 - 百度推出的AI视频创作平台
  • 穿越像素的凝视:深度解析视频中的人物与动物识别算法技术
  • OpenHarmony 4.0 Release源码下载、编译及烧录
  • 大模型提示词Prompt工程:2-全攻略+最佳实践框架+原理解析+实战案例库+七招要诀
  • 大模型微调——Prompt-Tuning
  • code2prompt 快速生成项目 Markdown 文档(结合大模型进行问答)
  • UIKit-CAGradientLayer
  • K8s LoadBalancer服务深度解析
  • Windows 系统开发 iOS 与安卓应用全流程指南,附 PC 前端工具链
  • CentOS 7 系统 “cannot find a valid baseurl for repo base7x86_64” 报错完整解决方案
  • centos7通过kubeadm安装k8s1.27.1版本