C語(yǔ)言實(shí)現(xiàn)循環(huán)打印星號(hào)圖形再鏤空
C語(yǔ)言 循環(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語(yǔ)言 打印菱形星號(hào)“*”圖案
題目
打印菱形星號(hào)“*”圖案。輸入一個(gè)正整數(shù)n(n為奇數(shù)),打印一個(gè)高度為n的“*”菱形圖案。試編寫(xiě)相應(yīng)程序。
程序簡(jiǎn)易流程圖如下:
#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é)果:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入剖析C語(yǔ)言中qsort函數(shù)的實(shí)現(xiàn)原理
這篇文章主要介紹了C語(yǔ)言中qsort函數(shù)的實(shí)現(xiàn)原理,本文將從回調(diào)函數(shù),qsort函數(shù)的應(yīng)用,qsort函數(shù)的實(shí)現(xiàn)原理三個(gè)方面進(jìn)行講解,并通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-03-03使用C語(yǔ)言求二叉樹(shù)結(jié)點(diǎn)的最低公共祖先的方法
這篇文章主要介紹了使用C語(yǔ)言求二叉樹(shù)結(jié)點(diǎn)的最低公共祖先的方法,文中還給出了ACM的練習(xí)題目,需要的朋友可以參考下2015-08-08VC++ 中ListCtrl經(jīng)驗(yàn)總結(jié)
這篇文章主要介紹了VC++ 中ListCtrl經(jīng)驗(yàn)總結(jié)的相關(guān)資料,需要的朋友可以參考下2015-06-06C++實(shí)現(xiàn)景區(qū)旅游信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)景區(qū)旅游信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03詳解C++的String類(lèi)的字符串分割實(shí)現(xiàn)
這篇文章主要介紹了詳解C++的String類(lèi)的字符串分割實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-07-07C++調(diào)用迅雷接口解析XML下載功能(迅雷下載功能)
這篇文章主要介紹了C++調(diào)用迅雷接口,封裝解析XML下載的類(lèi),功能簡(jiǎn)單,大家參考使用吧2013-11-11C語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)代碼
這篇文章主要介紹了C語(yǔ)言 數(shù)據(jù)結(jié)構(gòu)之鏈表實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10使用Visual Studio進(jìn)行動(dòng)態(tài)鏈接庫(kù)開(kāi)發(fā)流程
這篇文章主要介紹了使用Visual Studio進(jìn)行動(dòng)態(tài)鏈接庫(kù)開(kāi)發(fā)流程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05