<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
好,今天就來講一下如何解這道題。
#include<stdio.h> main() { char ch = getchar(); printf(" %c n %c%c%c n%c%c%c%c%cn %c%c%c n %c n",ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch,ch); }
好的,講解完了再見。
等等,騙你的,上面是死方法,下面才是活方法。
想必大家都會,我不信,有人不會。
#include<stdio.h>//定義stdio.h標頭檔案
這也是很簡單的。
int main()//主函數 { return 0; }
製造一個字元菱形,我們先需要定義一個他的大小,也就是行數,一個完美的菱形,它的行數一定是單數。
{ int hang;//定義行數-單數 printf("定義行數-單數:"); scanf("%d", &hang);//定義行數-單數 }
通過我們定義的行數,得出上下分割部處的行數。
{ int shang_xia = (hang / 2 + 1);//定義分割行數 }
定義字元需要注意一點,我們先前定義了行數,其中快取區有個回車,我們得先清除一下快取區,這裡我推薦用setbuf(stdin, NULL),清除快取區,主要是方便。
{ setbuf(stdin, NULL);//清除快取域 printf("定義字元:"); char a = getchar();//定義字元 }
剛開始我們列印的字元數,與空白數肯定要初始化一下,字元數剛開始都是1,這不用想,還有空白數的話,這是行數hang/2,因為行數是單數,所以/2後,會空出一個格子。
{ int ci = 1,//定義列印字元數 kon_ci = hang / 2;//定義列印空白數 }
首先我們列印菱形,肯定需要一個大回圈,每列印一行,都需要一個回車,所以這邊直接加上,行數減一防止多打一個回車影響美觀。
for (int i = 0; i < hang; i++)//迴圈列印菱形 { //列印到上部分 //列印剩下部分 if(i<hang-1)//防止多打 printf("n");//列印回車 }
列印上半部分,這時候就需要我們的分割行數,上半部分的列印是,先利用迴圈列印空白,再列印字元數,因為菱形每層更加飽滿,所以空白數要減少一點,還列印的字元要加兩個,再列印回車。按照這個原理迴圈,上半部分就成功了。
{ if (i < shang_xia)//列印上部分 { for (int j = 0; j < kon_ci; j++)//列印空白數 printf(" ");列印空白 for (int j = 0; j < ci; j++)//列印字元數 printf("%c", a);//列印字元 ci += 2;//每次列印字元數+2 kon_ci--;//每次空白數-1 } }
列印剩下部分就比較簡單了,上面每次空白減1,這裡就加1,上面字元加2,這你就減2,跟他反著來就行了,不知道你們有沒有注意到,上面有一個減一和加二,運算之後沒有用到,所以我們得先減去。之後就完成了。
{ if (i > hang / 2)//列印剩下部分 { if (i == shang_xia)//列印到分割行數時多加一次沒用,所以減去 { ci -= 2;//每次列印字元數-2 kon_ci++;//每次空白數+1 } ci -= 2;//每次列印字元數-2 kon_ci++;//每次空白數+1 for (int j = 0; j < kon_ci; j++)//列印空白數 printf(" ");//列印空白 for (int j = 0; j < ci; j++)//列印字元數 printf("%c", a);//列印字元 } }
第1次做有點水,請多多海涵。
#include<stdio.h>//定義stdio.h標頭檔案 int main()//主函數 { int hang;//定義行數-單數 printf("定義行數-單數:"); scanf("%d", &hang);//定義行數-單數 int shang_xia = (hang / 2 + 1);//定義分割行數 setbuf(stdin, NULL);//清除快取域 printf("定義字元:"); char a = getchar();//定義字元 int ci = 1,//定義列印字元數 kon_ci = hang / 2;//定義列印空白數 for (int i = 0; i < hang; i++)//迴圈列印菱形 { if (i < shang_xia)//列印上部分 { for (int j = 0; j < kon_ci; j++)//列印空白數 printf(" ");列印空白 for (int j = 0; j < ci; j++)//列印字元數 printf("%c", a);//列印字元 ci += 2;//每次列印字元數+2 kon_ci--;//每次空白數-1 } if (i > hang / 2)//列印剩下部分 { if (i == shang_xia)//列印到分割行數時多加一次沒用,所以減去 { ci -= 2;//每次列印字元數-2 kon_ci++;//每次空白數+1 } ci -= 2;//每次列印字元數-2 kon_ci++;//每次空白數+1 for (int j = 0; j < kon_ci; j++)//列印空白數 printf(" ");//列印空白 for (int j = 0; j < ci; j++)//列印字元數 printf("%c", a);//列印字元 } if(i<hang-1)//防止多打 printf("n");//列印回車 } return 0; }
到此這篇關於C語言詳解實現字元菱形的方法的文章就介紹到這了,更多相關C語言 字元菱形內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45