#include<stdio.h>
#include<stdlib.h>
typedef struct qfirst{
int x;
int y;
struct qfirst *next;
}qfirst;
struct qfirst *hhead,*htail,*ff;
void shuchu(int w)
{ while(w!=0)
{ printf(" ");
w--;
}
}
int main()
{ int s=1,i,n,j,k=0,h,q;
scanf("%d",&n);
hhead=(qfirst*)malloc(sizeof(qfirst));
scanf("%d %d",&hhead->x,&hhead->y);
hhead->next=NULL;
ff=hhead;
for(i=1;i<n;i++)
{ htail=(qfirst*)malloc(sizeof(qfirst));
scanf("%d %d",&htail->x,&htail->y);
htail->next=NULL;
ff->next=htail;
ff=htail;
}
ff=hhead;
while(ff!=NULL)
{
for(i=1;i<=ff->y;i++)//输出Y个金字塔 X X
{ for(j=1;j<=ff->x;j++) // X
{ if(j<(ff->x/2)+1) // X X
{ h=j-1;
shuchu(h);
printf("X");
h=j-1;
k=((ff->x)-2*h)-2;
for(k=k;k>=1;k--)
{ printf(" ");
}
printf("X");
h=j-1;
shuchu(h);
printf("\n");
k=-1; }
if(j==(ff->x/2)+1)
{ h=j-1;
shuchu(h);
printf("X");
h=j-1;
shuchu(h);
printf("\n");
}
if(j!=ff->x||(i==ff->y&&j==ff->x))
{
if(j>(ff->x/2)+1)
{ k=k+2;
h=((ff->x)-k-2)/2;
shuchu(h);
printf("X");
q=k;
shuchu(q);
printf("X");
h=((ff->x)-k-2)/2;
shuchu(q);
printf("\n");
}
}
}
}
ff=ff->next;
printf("\n");
}
}
大概没人会看吧,一点注释也没有,哈哈!
X是大写的
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复