问题 H: 打印图形II
时间限制: 1 Sec 内存限制: 128 MB
提交: 212 解决: 156
[提交] [状态] [讨论版] [命题人:admin]
题目描述
由键盘输入任意一个自然数 N,输出如下图:形如“沙漏”的由大写字母组成的图形。
输入
只有一个整数N,为图形上半部分的行数(其中2<=N<=26)
输出
输出图形,图形的最左侧从第一列开始输出。
样例输入
复制样例数据
4
样例输出
ABCDCBA
BCDCB
CDC
D
CDC
BCDCB
ABCDCBA
#include<stdio.h>
int main()
{
char a[30]={0},q;
int n,i,j,m,flag=0;
scanf("%d",&n);
q='A';
for(i=1;i<=2*n-1;i++)
{
a[i]=q;
if(i<n)q++;
if(i>=n)q--;
//printf("%c",a[i]);
}
m=0;
for(i=1;i<=2*n-1;i++)
{
for(j=1;j<=2*n-1;j++)
{
if(n-m==1)flag=1;
if(j>2*n-1-m)break;
if(j<=m)printf(" ");
else printf("%c",a[j]);
}
printf("\n");
if(flag==0)m++;
else m--;
}
return 0;
}