Description
向标准输出上打印一些用ASCII字符组成的图形。
-----------------------------------------------------------------------------
编写一个函数用于输出ASCII图形。
用C语言实现:append.c中函数原型为
int print_graphic(int n);
用C++实现:append.cc中函数原型为
int printGraphic(int n);
功能:输出n层的图形。
函数的调用格式见“Append Code”。
Input
输入为一个奇数n,1<n<50。
Output
输出一个n层的空心菱形,格式见sample。
Sample Input
11
Sample Output
***********
***** *****
**** ****
*** ***
** **
* *
** **
*** ***
**** ****
***** *****
***********
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int print_graphic(int n)
{
int i,j,k;
for(i=0;i<n;i++)
printf("*");
printf("\n");
for(i=1;i<=(n-1)/2;i++)
{
for(j=0;j<(n+1)/2-i;j++)
printf("*");
for(k=0;k<2*i-1;k++)
printf(" ");
for(j=0;j<(n+1)/2-i;j++)
printf("*");
printf("\n");
}
for(i=1;i<=(n-1)/2-1;i++)
{
for(j=0;j<i+1;j++)
printf("*");
for(k=0;k<n-2*(i+1);k++)
printf(" ");
for(j=0;j<i+1;j++)
printf("*");
printf("\n");
}
for(i=0;i<n;i++)
printf("*");
printf("\n");
}
int main()
{
int num;
scanf("%d", &num);
print_graphic(num);
return 0;
}