[問題] 請問畫一個圖形
我今天無聊自己玩畫一個圖形,就是給定高及寬都是奇數,畫一個類似以下圖形
1 ***********
2 ***** *****
3 **** ****
4 *** ***
5 ** **
6 * *
7 ** **
8 *** ***
9 **** ****
10***** *****
11***********
花了我好久時間,寫出來一個程式,但是感覺真的是很遜的程式
在底下,請問有沒有高手能對這圖形有比較好的寫法
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int h=15, w=15, d=1,mid;
int i,j;
mid=(1+h)/2;
for(i=1;i<=h/2+1;i++)
{
for(j=1;j<=w;j++)
{
if(i==1 || i==h)
printf("*");
else if(i==2 && j==mid)
printf(" ");
else if(i==2 && j!=mid)
printf("*");
else if(i==h-1 && j==mid)
printf(" ");
else if(i>2 && i<=mid)
{
if((j<=mid+d && j>=mid-d))
printf(" ");
else
printf("*");
}
}
printf(" d=%d",d);
if(i>2 && i<mid)
d++;
printf("\n");
}
//========================
for(i=mid+1;i<=h;i++)
{
for(j=1;j<=w;j++)
{
if(i==h)// || i==h)
printf("*");
else if(i==h-1 && j==mid)
printf(" ");
else if(i==h-1 && j!=mid)
printf("*");
else if(i==h-1 && j==mid)
printf(" ");
else if(i<h-1 && i>mid)
{
if((j<=mid+d && j>=mid-d))
printf(" ");
else
printf("*");
}
}
printf(" d=%d",d);
if(i<h-1)
d--;
printf("\n");
}
system("PAUSE");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.197.214
討論串 (同標題文章)