[t]拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在一行和一列中 恰好出现一次。[/t]
[cc lang="c"]
#include 
#include 
  int n;
typedef struct lnode{
  int data;
  struct lnode *next;
}lnode,*linklist;
linklist creat()
{
   linklist head=NULL;
   linklist s,r;
   int i;
   r=head;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
{
   s=(linklist)malloc(sizeof(lnode));
   s->data=i;
   if(head==NULL)
    head=s;
else
   r->next=s;
   r=s;
}
  r->next=head;
  return head;
}
void lading(linklist head)
{
  linklist p=head;
  int i,j=1;
while(j<=n)
{
   for(i=1;i<=n;i++)
{
   printf("%4d",p->data);
   p=p->next;
}
printf("\n");
j++;
p=p->next; 
 }
}
int main()
{
   linklist p=creat();
   lading(p);
   return 0;
}
[/cc]

 
                                            