输出如下图形:
A A A A A A A A A A A A A
A B B B B B B B B B B B A
A B C C C C C C C C C B A
A B C D D D D D D D C B A
A B C D E E E E E D C B A
A B C D E F F F E D C B A
A B C D E F G F E D C B A
A B C D E F F F E D C B A
A B C D E E E E E D C B A
A B C D D D D D D D C B A
A B C C C C C C C C C B A
A B B B B B B B B B B B A
A A A A A A A A A A A A A
我找到了两种不同形式的思路,一种是以输出行数为标准,一种是以圈数为标准,各有优点,而且对编辑类似图形有启发.
第一种,以输出行数为标准,用户输入想输出的行数,利用该位置是否已被占和是否为边界位置进行双重判断,满足条件则将该位置存入数组,最后输出数组.源代码如下:
#include
#include
int main (void)
{
FILE *fp;
int i, sum, total, row, line;/*sum表示总的圈数*/
char ch;
char count[80][80];
puts("Enter the total of row: ");
scanf("%d",&total);
for(row=1; row<=total; row++)
for(line=1; line<=total; line++)
count[row][line]=0 ;