#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 人评分
printf基础练习2 (C语言代码)浏览:826 |
打印十字图 (C语言代码)浏览:2820 |
The 3n + 1 problem (C语言代码)浏览:550 |
Pascal三角 (C语言代码)浏览:707 |
陶陶摘苹果2 (C语言代码)浏览:650 |
简单的a+b (C语言代码)浏览:444 |
C语言训练-求PI* (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:549 |
Manchester-台球碰撞-(附带图解)浏览:3787 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:670 |