Ⅰ、用for循環求中空的金字塔:
①、//代碼摘下直接可以運行
#include<stdio.h>
int main()
{
int i,j,n;
printf(“Please input the number of n!\n”);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++) //此後的兩個for循環,是先後順序且互相挨着的
printf(" “);
printf(”");
for(j=1;j<=2i-3;j++) //當j<=的這個數小於j=1時,不成立,則下面的循環不執行;
printf(" “);
if(i!=1)
printf(”*");
printf("\n");
}
return 0;
}
②、結果展示:
例如:此程序是和上一個的程序差不多,但最終形成的圖像是不一樣的;
當輸入n=10時,代表的是此中空的金子塔有十層;例如:當輸入的n=10,則結果如下:
☺寄語:
Ⅰ、此程序在Visual C++6.0版本上運行的;
Ⅱ、如果我給的程序有問題,或在敘述方面有問題,或者看不懂我講解的意思,請及時指出或留言和我討論,謝謝各位大佬!!!
Ⅲ、程序中也使用了嵌套循環,此程序中有三個for循環:
第一個for循環是決定總共的層數,n層;
第二個for循環是決定每一行的第一個 * 號的開始位置,而等式是經過規律推導出來的 j<=n-i ;
第三個for循環是決定每一行的最後一個 * 號的最終位置,而等式是經過規律推導出來的 j<=2*i-3,且僅當i不等於1時,輸出爲 “ * ”;