空格不對勁啊
既然 ? 每行輸出的空格數(shù)等于(最后一行*號數(shù)減去當前行的*號數(shù))除2
但是他的參考代碼,第一次循環(huán)的空格有4個,第二次3個
而第一行1個星,最后一行7星,(7-1)/2=3空格
?? 第二行3星,(7-3)/2=2空格
為什么出現(xiàn)這種情況呢?
既然 ? 每行輸出的空格數(shù)等于(最后一行*號數(shù)減去當前行的*號數(shù))除2
但是他的參考代碼,第一次循環(huán)的空格有4個,第二次3個
而第一行1個星,最后一行7星,(7-1)/2=3空格
?? 第二行3星,(7-3)/2=2空格
為什么出現(xiàn)這種情況呢?
2019-12-04
舉報
2019-12-18
我們通常思維是你這樣的,畫一個圖形需要對稱。但是這個輸出是從左到右的文本,又由于是正三角形,左右對稱,所以只要關(guān)心左側(cè)空格的占位,不用關(guān)心右側(cè)的空格數(shù)量。

可以把空格替換成其他字符串幫助理解。
這里第一行有四個空格是為了滿足第四行有一個空格,不然其實第一行3個空格就能實現(xiàn)了。
2019-12-12
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數(shù)量,補全循環(huán)條件 */
? ? ? ? for(? ? i=1 ;? i<=4-i ;? i--? )??
? ? ? ? {
? ? ? ? ? ? printf(" ");? ? //輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數(shù)量,補全循環(huán)條件 */
? ? ? ? for( j=1 ;? j<=2*i-1 ;? j++? ? ?)?
? ? ? ? {
? ? ? ? ? ? printf("*");? ?//每行輸出的*號
? ? ? ? }
? ? ? ? printf("\n");? ? ?//每次循環(huán)換行
? ? }
? ? return 0;
}