C語言輸出如題所示圖案的代碼如下:
#include<stdio.h>
int main( )
{
int x;
int i,j,k;
printf("請輸入,需要生成圖案的行數(單數):");
scanf("%d",&x);
k=x/2+1;
for(i=1;i<=k;i++)
{
for(j=0;j<2*i-1;j++)
printf("*");
printf("\n");
}
for(i=k-1;i>=1;i--)
{
for(j=0;j<2*i-1;j++)
printf("*");
printf("\n");
}
}
擴展資料:
由題,需要輸出這樣壹個圖像,可將其看為壹個正三角形與倒三角形的組合。
且對於下圖:
*
***
*****
*******
*****
***
*
由行數與*號的關系可得,在對於總行數/2+1的部分,行數*2+1,即為*號的數目,因而得到了前半段圖形的代碼。
而對於後半部分的倒三角形,其行數可記為,倒數總行數/2...3、2、1行,則可利用循環以及2*行數-1,得到下半部分的圖像。