網站首頁 編程語言 正文
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/85058012
相關推薦
- 2022-11-10 Android自定義DataTimePicker日期時間選擇器使用詳解_Android
- 2022-07-09 springboot 視圖集成
- 2022-09-27 Android實現密碼隱藏和顯示_Android
- 2022-10-07 Docker容器操作方法詳解_docker
- 2023-02-27 pandas?pd.cut()與pd.qcut()的具體實現_python
- 2022-10-04 一文教會你用Python讀取PDF文件_python
- 2022-04-14 Python中創建表格詳細過程_python
- 2022-04-09 WPF圖表LiveChart使用詳解_基礎應用
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支