|
3鱼币
本帖最后由 天之骄子 于 2013-8-1 00:03 编辑
不懂得程序??实在有点错中复杂
请求帮忙求解。。。。。。。。。。。。
#include "stdio.h"
void print(int(*p)[62])
{
int i,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<j2+13)
continue;
if(*(*(p+i)+j)==1||*(*(p+i)+j)==2)
printf("*");
else if(*(*(p+i)+j)==3||*(*(p+i)+j)==4)
printf("*");
else
printf(" ");
}
printf(" \n");
}
}
void star(int (*p)[62],int i,int j,int n) //??int (*p)[62] ?==int a[20][62]
{
int k,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;
}
int main()
{
int a[20][62]={0};
star(a,2,25,3); //?参数是什么
print(a);
printf("\n\n\n");
return 0;
}
|
|