C语言实现循环打印星号图形再镂空
更新时间:2022年11月15日 13:51 点击:566 作者:粥ou
C语言 循环打印星号图形再镂空
镂空的原理
判断什么时候打印星号,什么时候打印空格
如果把这个图形镂空 成下面这个图形
int i,j; //外层控制行数和换行 for(i=0;i<5;i++) { //内存循环控制列数和星数量 for(j=0;j<=3-i;j++) { printf(" "); } for(j=0;j<=i*2;j++) { if(i==0 || i==4 || j ==0 || j == 2*i) //第一行和最后一行不要镂空,然后就是中间的两边,分别是j=0和j取最大值的时候 printf("*"); else printf(" ");0 } printf("\n"); } return 0;
第二种:
#include <stdio.h> #include <stdlib.h> int main() { int i,j; for(i=0;i<9;i++) { for(j=0;j<9;j++) { if(i == 0 || i == 8 || j == 0 || j == 8) { printf("*"); } else printf(" "); } printf("\n"); }
第三种效果图:
int main() { //上半部分 int i,j; for(i=0;i<3;i++) { for(j=0;j<2-i;j++) { printf(" "); } for(j=0;j<=2+2*i;j++) { if(i == 0 || j == 0 || j == 2+2*i) printf("*"); else printf(" "); } printf("\n"); } //中间部分 for(i=0;i<3;i++) { for(j=0;j<7;j++) { if(j == 0 ||j == 6) printf("*"); else printf(" "); } printf("\n"); } //下半部分 for(i=0;i<3;i++) { for(j=0;j<i;j++) { printf(" "); } for(j=0;j<=6-2*i;j++) { if(i == 2 || j == 0 || j ==6-2*i ) printf("*"); else printf(" "); } printf("\n"); } return 0; }
第四种:
int main() { int i,j; //上半部分 for(i=0;i<3;i++) { for(j=0;j<2-i;j++) { printf(" "); } for(j=0;j<=2*i;j++) { printf("*"); } printf("\n"); } //下半部分 for(i=0;i<7;i++) { for(j=0;j<5;j++) { if(j == 2) printf("*"); else printf(" "); } printf("\n"); } return 0;
C语言 打印菱形星号“*”图案
题目
打印菱形星号“*”图案。输入一个正整数n(n为奇数),打印一个高度为n的“*”菱形图案。试编写相应程序。
程序简易流程图如下:
#include<stdio.h> /*打印菱形图案*/ int main (void) { int n,j,i; /*i为行数,j为每行中的项数*/ printf("(n为奇数)输入图案高度n:\n"); scanf("%d",&n); if (n<=0||n%2==0) /*判断n输入正误*/ printf("输入错误!"); else { for(i=1;i<=n/2+1;i++) /*打印上三角,(包括中间行)*/ { for(j=1;j<=n/2+i;j++) { if(j>=n/2-i+2) printf(" *"); else printf(" "); } printf("\n"); } for(i=n/2;i>=1;i--) /*打印下三角,(不包括中间行)*/ { /*将i改为倒序,这样就不必再次考虑每行中项的打印,下个for循环可以直接复制上三角部分*/ for(j=1;j<=n/2+i;j++) /*这个for循环与上三角一致 */ if(j>=n/2-i+2) printf(" *"); else printf(" "); printf("\n"); } } return 0; }
运行结果:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。
原文出处:https://blog.csdn.net/weixin_42166745/article/details/850580
下一篇: C语言实现打印星号图案
相关文章
- 这篇文章主要介绍了js如何实现浏览器打印功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
- 这篇文章主要介绍了Java8处理List的双层循环问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-19
jquery中常用的SET和GET$(”#msg”).html循环介绍
复制代码 代码如下: $(”#msg”).html(); //返回id为msg的元素节点的html内容。 $(”#msg”).html(”new content“); //将“new content” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content $(”...2013-10-13浅谈Java8 的foreach跳出循环break/return
这篇文章主要介绍了Java8 的foreach跳出循环break/return,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-28- 这篇文章主要介绍了C#中的基本循环:while循环、for循环和foreach循环,大家都知道循环结构可以简化程序编码,更好地实现理想的效果,并结合案例给大家讲解,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-11
mybatis-plus mapper中foreach循环操作代码详解(新增或修改)
这篇文章主要介绍了mybatis-plus mapper中foreach循环操作代码详解(新增或修改),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-11-17- 这篇文章主要介绍了python 实现循环定义、赋值多个变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
- 这篇文章主要介绍了解决vue-router路由拦截造成死循环问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05
- 这篇文章主要介绍了c# 循环语句的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-06-25
- 这篇文章主要介绍了c#如何获取已安装的打印机并调用打印文件,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2020-12-08
- 这篇文章主要为大家详细介绍了vue实现页面打印自动分页的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
Springboot+MDC+traceId日志中打印唯一traceId
本文主要介绍了Springboot+MDC+traceId日志中打印唯一traceId,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-17- 这篇文章主要介绍了Java8之Stream流代替For循环操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-19
- 这篇文章主要给大家介绍了关于JavaScript循环遍历的24个方法,文中对每种方法都给出了详细的实例代码,方便大家理解学习,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2021-09-15
- 这篇文章主要介绍了Python While循环语句实例演示及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-30
- 这篇文章主要介绍了C#操作excel打印的示例,帮助大家利用c#打印表格,提高办公效率,感兴趣的朋友可以了解下...2020-12-08
- 这篇文章主要介绍了C#基本打印事件用法,实例分析了C#中print打印及DrawString文本字符串绘制等相关技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要给大家介绍了关于如何检测JavaScript中死循环的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-31
- 这篇文章主要介绍了解决vue中的无限循环问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27