網(wǎng)站首頁 編程語言 正文
C語言 循環(huán)打印星號(hào)圖形再鏤空
鏤空的原理
判斷什么時(shí)候打印星號(hào),什么時(shí)候打印空格
如果把這個(gè)圖形鏤空 成下面這個(gè)圖形
int i,j;
//外層控制行數(shù)和換行
for(i=0;i<5;i++)
{
//內(nèi)存循環(huán)控制列數(shù)和星數(shù)量
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取最大值的時(shí)候
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語言 打印菱形星號(hào)“*”圖案
題目
打印菱形星號(hào)“*”圖案。輸入一個(gè)正整數(shù)n(n為奇數(shù)),打印一個(gè)高度為n的“*”菱形圖案。試編寫相應(yīng)程序。
程序簡易流程圖如下:
#include<stdio.h> /*打印菱形圖案*/
int main (void)
{
int n,j,i; /*i為行數(shù),j為每行中的項(xiàng)數(shù)*/
printf("(n為奇數(shù))輸入圖案高度n:\n");
scanf("%d",&n);
if (n<=0||n%2==0) /*判斷n輸入正誤*/
printf("輸入錯(cuò)誤!");
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改為倒序,這樣就不必再次考慮每行中項(xiàng)的打印,下個(gè)for循環(huán)可以直接復(fù)制上三角部分*/
for(j=1;j<=n/2+i;j++) /*這個(gè)for循環(huán)與上三角一致 */
if(j>=n/2-i+2)
printf(" *");
else
printf(" ");
printf("\n");
}
}
return 0;
}
運(yùn)行結(jié)果:
原文鏈接:https://blog.csdn.net/weixin_42166745/article/details/85058012
相關(guān)推薦
- 2022-11-05 一文了解Python3的錯(cuò)誤和異常_python
- 2023-04-20 flex 的 三個(gè)參數(shù):flex-grow、flex-shrink、flex-basis
- 2022-08-06 為Visual?Studio手工安裝微軟ReportViewer控件_自學(xué)過程
- 2022-04-18 C語言數(shù)組全面總結(jié)梳理_C 語言
- 2022-07-30 Hadoop中hdfs與yarn命令大全
- 2023-12-21 npm install 報(bào)錯(cuò)(npm ERR! errno: -4048, npm ERR! c
- 2022-08-10 C#對(duì)文件名智能排序的算法_C#教程
- 2022-04-12 Python中BeautifulSoup模塊詳解_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支