include lt;stdio.h;
include lt;stdlib.h;
//ç¡®å®ç©éµå¤§å°ï¼åé
空é´
void init(char ***a,int *len)
{
int i,n;
printf(;éåä¸æå 个å
ç´ :;);
do
{
scanf(;%d;,n);
if(nlt;=1)
printf(;nåºè¯¥å¤§äº1;n;);
}while(nlt;=1);
*len=n;
(*a)=(char **)malloc(sizeof(char*)*n);
if((*a)==NULL)
{
printf(;malloc error;n;);
return;
}
for(i=0;ilt;n;i++)
{
(*a)[i]=(char*)malloc(sizeof(char)*n);
if((*a)[i]==NULL)
{
printf(;malloc error;n;);
return ;
}
}
}
//èªåæ§è¿å1ï¼å¦å0
int f1(char **a,int n)
{
int i;
for(i=0;ilt;n;i++)
{
if(a[i][i]==0)
return 0;
}
return 1;
}
//åèªåæ§è¿å1ï¼å¦å0
int f2(char **a,int n)
{
int i;
for(i=0;ilt;n;i++)
{
if(a[i][i]==1)
return 0;
}
return 1;
}
//对称æ§è¿å1ï¼å¦å0
int f3(char **a,int n)
{
int i,j;
for(i=0;ilt;n;i++)
{
for(j=0;jlt;i;j++)
{
if(a[i][j]!=a[j][i])
return 0;
}
}
return 1;
}
//å对称æ§è¿å1ï¼å¦å0
int f4(char **a,int n)
{
int i,j;
for(i=0;ilt;n;i++)
{
for(j=0;jlt;i;j++)
{
if(a[i][j]==1 a[j][i]==1)
return 0;
}
}
return 1;
}
//ä¼ éæ§è¿å1ï¼å¦å0
int f5(char **a,int n)
{
int i,j,k;
for(i=0;ilt;n;i++)
{
for(j=0;jlt;n i!=j;j++)
{
for(k=0; klt;n i!=k j!=k ;k++)
{
if(a[i][j]==1 a[j][k]==1 a[i][k]==0)
return 0;
}
}
}
return 1;
}
//æ¾ç¤ºç»æ
void show(char** a,int n)
{
char b[5];
b[0]=f1(a,n);
b[1]=f2(a,n);
b[2]=f3(a,n);
b[3]=f4(a,n);
b[4]=f5(a,n);
// printf(;%d,%d,%d,%d,%d;n;,b[0],b[1],b[2],b[3],b[4]);
if(b[0]==1)
printf(;å
³ç³»Rå
·æèªåæ§;n;);
else
printf(;å
³ç³»Rä¸å
·æèªåæ§;n;);
if(b[1]==1)
printf(;å
³ç³»Rå
·æåèªåæ§;n;);
else
printf(;å
³ç³»Rä¸å
·æåèªåæ§;n;);
if(b[2]==1)
printf(;å
³ç³»Rå
·æ对称æ§;n;);
else
printf(;å
³ç³»Rä¸å
·æ对称æ§;n;);
if(b[3]==1)
printf(;å
³ç³»Rå
·æå对称æ§;n;);
else
printf(;å
³ç³»Rä¸å
·æå对称æ§;n;);
if(b[4]==1)
printf(;å
³ç³»Rå
·æä¼ éæ§;n;);
else
printf(;å
³ç³»Rä¸å
·æä¼ éæ§;n;);
if( b[0]==1 b[4]==1)
{
if( b[2]==1)
printf(;å
³ç³»Ræ¯éåä¸ççä»·å
³ç³»;n;);
if( b[3]==1)
printf(;å
³ç³»Ræ¯éåä¸çååºå
³ç³»;n;);
}
}
//è¾å
¥å
³ç³»
void input(char **a,int n)
{
int x,y;
printf(;è¾å
¥å
³ç³»,使ç¨1~nä¹é´çæ´æ°,使ç¨;;,;;åå¼,ä¾å¦1,2ï¼å®æåè¾å
¥0,0éåº;n;);
for(;;)
{
scanf(;%d,%d;,x,y);
if(xlt;=0 x;n ylt;=0 y;n)
break;
a[x-1][y-1]=1;
}
}
//å é¤åé
ç空é´
void del(char **a,int n)
{
int i;
for(i=0;ilt;n;i++)
free(a[i]);
free(a);
}
//ç©éµææå
ç´ ç½®0
void clear(char** a,int n)
{
int i,j;
for(i=0;ilt;n;i++)
{
for(j=0;jlt;n;j++)
{
a[i][j]=0;
}
}
}
main()
{
char **a;
int n;
int count;
init(a,n);
printf(;æå ç»å
³ç³»;n;);
scanf(;%d;,count);
while(count--)
{
clear(a,n);
input(a,n);
show(a,n);
}
del(a,n);
return 0;
}
温馨提示:内容为网友见解,仅供参考