匿名用户
1级
-04-11 回答
#include"stdio.h"
voidprint(int(*p)[62])
{
inti,i2=0,j,j2=49;
for(i=0;i<20;i++)
{
printf("");
for(j=0;j<62;j++)
{
if(i==i2||i==i2+1)
if(j>j2&&j
continue;
if(*(*(p+i)+j)==1||*(*(p+i)+j)==2)
printf("*");
elseif(*(*(p+i)+j)==3||*(*(p+i)+j)==4)
printf("*");
else
printf("");
}
printf("\n");
}
}
voidstar(int(*p)[62],inti,intj,intn)
{
intk,l,a,b;
for(k=0;k<18;k++,i++,j++)
{
*(*(p+i)+j)=n;
if(k>7&&k<11)
*(*(p+i)+j)=0;
}
i--,j--;
for(k=0;k<11;k++,i--,j-=4)
{
*(*(p+i)+j)=n;
if(k>4&&k<7)
*(*(p+i)+j)=0;
}
i++,j+=4;
for(k=0;k<47;k++,j++)
{
*(*(p+i)+j)=n;
}
j--;
for(k=0;k<11;k++,i++,j-=4)
{
*(*(p+i)+j)=n;
if(k>3&&k<6)
*(*(p+i)+j)=0;
}
i--,j+=4;
for(k=0;k<18;k++,i--,j++)
{
*(*(p+i)+j)=n;
if(k>6&&k<10)
*(*(p+i)+j)=0;
}
i++,j--;
a=i,b=j;
i++,j++;
for(k=1;k<17;k++,i++,j++)
for(l=j-1;*(*(p+i)+l)!=n;l--)
*(*(p+i)+l)=n+1;
i=a,j=b;
i++,j--;
for(k=1;k<17;k++,i++,j--)
for(l=j+1;*(*(p+i)+l)!=n;l++)
*(*(p+i)+l)=n+1;
}
intmain()
{
inta[20][62]={0};
//star(a,0,37,1);
star(a,2,25,3);
print(a);
}