#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分
1 人评分
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:642 |
A+B for Input-Output Practice (VII) (C++代码)浏览:639 |
哥德巴赫曾猜测 (C语言代码)浏览:1136 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:560 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:834 |
1118(求助_已解决)浏览:351 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1456 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1103 |
筛排处理 (C语言代码)浏览:828 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:659 |