您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用C語言打印一個等腰三角形”,在日常操作中,相信很多人在怎么用C語言打印一個等腰三角形問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用C語言打印一個等腰三角形”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
想要打印一個等腰三角形,首先試著打印一個實心的直角三角形。這里統一使用“*”符號打印。
通過觀察直角三角形,我們可以得出,想要打印一個實心的直角三角形,應該是第一行打印一個*,然后第二行打印兩個*,以此類推,想要打印多大(多少行)的直角三角形都可以,只要控制一下變量就可以。
如圖所示的一個3行的直角三角形:
* ** ***
想要得到上圖的圖形,代碼如下:
#include <stdio.h> int main() { int i,j; //1.控制行數 for(i=1;i<=3;i++) { //2.控制每行打印的個數 for(j=1;j<=i;j++) { printf("*"); } //3.換行 printf("\n"); } return 0; }
此時,如果我們想要打印一個n行的直角三角形,該如何改代碼呢?
其實很簡單,就是定義一個變量,讓該變量來控制我們最外面的循環的次數,即行數。并且讓計算機來接收我們輸入的變量的值,由此來達成我們想要打印多大的直角三角形就可以得到多大的直角三角形。
代碼如下:
#include <stdio.h> int main() { int x;//定義的一個變量,來人為控制行數 printf("請輸入你想要打印的直角三角形的行數:\n"); scanf("%d",&x);//接收鍵盤輸入的值 int i,j; //1.控制行數 for(i=1;i<=x;i++) { //2.控制每行打印的個數 for(j=1;j<=i;j++) { printf("*"); } //3.換行 printf("\n"); } return 0; }
執行結果如下(我這里用的是虛擬機,是Linux操作系統,所以編譯執行的方式有點不一樣,如果是一般的編譯軟件,直接編譯運行run就好):
china@ubuntu:/mnt/hgfs/302$ gcc test.c -o test china@ubuntu:/mnt/hgfs/302$ ./test 請輸入你想要打印的直角三角形的行數: 8 * ** *** **** ***** ****** ******* ********
好啦,回歸正題,我們是要打印一個等腰三角形噻。那么通過上面的幾個代碼,你有想法了嗎?
有的話,就先不要接著看下去了,先自己去想好自己的思路,然后實踐一下,代碼出錯是正常的,不要放棄,一般的編譯軟件有錯誤提示,可以試著去改一改自己的錯誤,英文看不懂的家人們,就去用電腦翻譯一下。
come back,我的思路是這樣的,通過觀察吧,我發現一個等腰三角形的打印有點類似直角三角形打印,如圖:
* * * * * * * * * * * * * * * * * * * * *
首先看圖,你是不是發現,其實等腰三角形打印的規律也是第一行打印一個*,第二行打印兩個*,然后以此類推,是不是就是上面那個直角三角形相同的兩個for循環就可以解決!!!蕪湖!別高興太早,不是直接Ctrl C+Ctrl V就完事了,你沒發現這里的每個*中間還有空格嗎,親?
哦豁!是這樣誒!那還不簡單,直接把打印“*”換成“* ”啊!真是個小聰明!沒錯就是這樣滴!不過單單是這樣還不是等腰三角形,那還是個直角三角形,只不過撐開了點,笑死。因為還有非常關鍵的一步,那就是,在打印*前,還有空格嘞,你再看看,他們有什么規律(睜大眼睛仔細看)。
咦~好像空格在慢慢減少,而且第一行是總行數減一個空格,然后每一行減一個空格,然后直到最后一行,就沒啦!歐耶!回答正確!所以只需要在你打印*前再寫一個for循環控制每一行打印空格的個數就莫問題啦~(其中各個變量的關系你要自己仔細體會哦)
#include <stdio.h> int main() { int m,n,i,j,k; printf("請輸入m:"); scanf("%d",&m); n=m; for(i=1;i<=m;i++)//控制等腰三角形的高度 { for(j=n-1;j>0;j--) { printf(" ");//輸出每一行最前面的空格 } n--; for(k=1;k<=i;k++)//打印每一行的空格后的東西 { printf("* "); } printf("\n");//打印下一行 } return 0; }
執行結果如下:
china@ubuntu:/mnt/hgfs/302$ gcc test3.c -o test3
china@ubuntu:/mnt/hgfs/302$ ./test3
請輸入m:9
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
學習c語言使用控制臺打印圖形是每一個初學者都會做的事,下面是站在初學者的角度編寫的代碼,簡單易懂。
#include<stdio.h> int main() { while(1)//死循環,可以多次輸入 { int n; printf("請輸入三角形的高:"); scanf("%d", &n);//系統可能會報錯,可以改成scanf_s for (int i=1; i <=n; i++)//打印行 { for (int j=1 ; j <= 2 * n -1; j++)//打印列 { if ((i - j <= 0) && (i + j <= (2 * n)))//對等腰三角形的兩邊進行限制 { printf("*"); } else printf(" ");//填充三角形之外的空余 } printf("\n"); } } return 0; }
運行結果如下
到此,關于“怎么用C語言打印一個等腰三角形”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。