#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语言代码)浏览:728 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:840 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:534 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:537 |
1025题解浏览:732 |
数组与指针的问题浏览:716 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:505 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:839 |
简单的a+b (C语言代码)浏览:508 |