#include stdio.h//因?yàn)?0是兩個數(shù)字,所以只能是近似的空心金字塔,尤其是底下的一行,表現(xiàn)的不對齊,請見諒。
在富民等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),富民網(wǎng)站建設(shè)費(fèi)用合理。
int main()
{
int hangshu,i=0,j=1,k=10;//j是當(dāng)前的行數(shù),hangshu為總行數(shù),i是變量,在for循環(huán)中改變
scanf("%d",hangshu);
for(i=0;i=hangshu;i++)
printf(" ");
printf("%d\n",k);
for(j=1;jhangshu;j++)
{
for(i=0;ihangshu-j;i++)
printf(" ");
printf("%d",k);
for(i=0;ij;i++)
printf(" ");
printf("%d",k-j);
for(i=0;ij;i++)
printf(" ");
printf("%d",k);
printf("\n");
}
for(i=0;ik-j;i++)
printf("%d ",k-i);
for(;i=0;i--)
printf("%d ",k-i);
}
程序主要分為2個部分,一個部分是輸出空格,一個部分是輸出星號。
具體過程如下:
#includeiostream
using?namespace?std;
void?printBlank(int?n)
{
for?(int?i?=?0;?i??n;?i++)
cout??"?";
}
void?printStar(int?n)
{
for?(int?i?=?0;?i??n;?i++)
cout??"*?";
}
int?main()
{
int?N?=?5;
for?(int?i?=?1;?i?=?N;?i++)
{
printBlank(N-i);
printStar(i);
cout??endl;
}
return?0;
}
結(jié)果如下:
可以通過for循環(huán)來實(shí)現(xiàn)輸出金字塔圖形。
#includestdio.h
void main()
{
int i,j;
for (i=1;i=3;++i) ?// 控制金字塔的層數(shù),本例輸出3層,可以改變輸出任意層
{
for (j=1;j=3-i;++j) ?// 控制金字塔每層前面輸出的空格數(shù)
printf(" ");
for (j=1;j=2*i-1;++j) // 控制金字塔每層需要打印'*'的個數(shù)
printf("*");
printf("\n"); ?// 一層金字塔輸出完畢,換行繼續(xù)輸出下一層
}
}