C语言利用for循环打印菱形
C语言利用for循环打印菱形(高度为奇数)
这次用的方法是上下部分分开打印,先打印上部分,再打印下部分。
先举个简单的例子打印,再改进代码,登堂入室从而理解。
例:打印一个高度(高度必须为奇数)为 5 的菱形,上下拆分 就是 上部分为 3行的三角形 ,下部分为2行的倒三角形(代码如下:)
#include<stdio.h> int main() { int i,j; for(i = 1;i <= 3;i++)//打印高度为3的三角形 { for(j=i;j<=3;j++)//打印上部分空格 { printf(" "); } for(j = 1;j <= 2*i-1;j++)//打印三角形实体 { printf("*"); } printf("\n"); } //=================================上下部分分界线 for(i = 1;i <= 2;i++) //打印下部分高度为2的倒三角形 { for(j = 1;j <= (2+i)-1;j++) //打印下部分空格 { printf(" "); } for(j = 1;j <= 5-(i*2);j++)//打印倒三角形实体 { printf("*"); } printf("\n"); } return 0; }
效果图如下:
我们知道上面的原理 我就就可以进阶的改写代码 从而实现打印任意高度的菱形
我们要求输入高度 且 改变里面的数值 就得到了以下代码:
#include<stdio.h> int main() { int i,j,height; printf("please enter height:"); scanf("%d",&height); for(i = 1;i <= (height / 2) + 1;i++)//打印高度为height的三角形 { for(j=i;j<= (height / 2) + 1;j++)//打印上部分空格 { printf(" "); } for(j = 1;j <= 2*i-1;j++)//打印三角形实体 { printf("*"); } printf("\n"); } //=================================上下部分分界线 for(i = 1;i <= height / 2;i++) //打印下部分高度的倒三角形 { for(j = 1;j <= (2+i)-1;j++) //打印下部分空格 { printf(" "); } for(j = 1;j <= height - (i*2);j++)//打印倒三角形实体 { printf("*"); } printf("\n"); } return 0; }
效果图:
注意:这里的高度必须是奇数,否者是不能打印出来菱形的!
说明:这里的打印空格 和 打印三角形实体 是需要算出来的,可以去研究一下。
最后:希望能帮到有需要的人。
本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/13074125.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!