X | ||
题目描述输出一个"X"型字符图形,给定字符为
具体见样例。 输入每行一个字符c,字符只含大写字母。 输出按顺序输出每个样例的对应结果。 样例输入A C 样例输出A A X A A C C B B A A X A A B B C C |
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char arr[1000][1000];//存
char a='A';
char b;
while(scanf(" %c",&b)!=EOF)//空格
{
int i,j,n,h,s,c,t,d=0;//一顿爆int
n=b-a;
h=n+1;//行数
c=2*n+3;//最长列数
t=c;//下面有用
for(i=0;i<h;i++)//把X以上的图形存进来
{
for(j=0;j<c;j++)
{
if(i==j)
{
arr[i][j]=b;
}
else if(j==c-1)
{
arr[i][j]=b;
c--;
b--;
d=c;
}
else
{
arr[i][j]=' ';
}
}
}
for(i=0;i<h;i++)//上半部分
{
for(j=0;j<t;j++)
{
printf("%c",arr[i][j]);
}
t--;
printf("\n");
}
for(int k=1;k<=n+1;k++)//中间
{
printf(" ");
}
printf("X\n");
for(i=h-1;i>=0;i--)//反一下
{
for(j=0;j<d+1;j++)//列从小到大
{
printf("%c",arr[i][j]);
}
d++;
printf("\n");
}
}
return 0;
}