gogo1979 发表于 2013-5-27 20:54:45

拉丁方阵 作业练习

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>


typedef struct s
{
      int data;
       struct s *next;
}node;


node *chushihua(int x);                     //初始化方阵
void shuchu(node *phode,int x);         //输出方阵


void main()
{
   int x;
   node *phode;


       printf("请输入几乘几的方阵(输入一个整数):");
       scanf("%d",&x);
         phode=chushihua(x);
       tiaoshi(phode);
       shuchu(phode,x);
}


node *chushihua(int x)               //初始化方阵
{
      int i;
          node *hode,*p,*p2;


          for(i=1; i<=x; i++)
          {
                p=(node *)malloc(sizeof(node));
                        if(i==1)
                        {
                             hode=p;
                        }
                       else
                        {
                             p2->next =p;       
                        }
                        p->data =i;
                        p2=p;
          }
          p->next=hode;
          return hode;
}


void shuchu(node *phode,int x)               //输出方阵
{
         int i,j;
       node *p=phode;


       for(i=1; i<=x; i++)
       {
             for(j=1; j<=x; j++)
                   {
                        printf("%d",p->data);
                        p=p->next;
                   }
                   printf("\n");
                   p=p->next ;
       }
         printf("\n");
}

gogo1979 发表于 2013-5-27 21:00:12

魔术师发牌问题 作业练习:


#include <stdio.h>
#include <malloc.h>

typedef struct s
{
          int data;
          struct s *next;
}huan;

huan *chushihua();                     //初始化链表
void shuchu(huan *phode);          //输出
void weizhi(huan *phode);         //魔术师插牌的方法

void main()
{
          huan *phode;
          int i=1;

          phode=chushihua();
          shuchu(phode);
          weizhi(phode);
          shuchu(phode);
}

huan *chushihua()               //初始链表
{
          huan *hode,*p,*p1;
          int i;

          hode=p=p1=NULL;
          for(i=1; i<=13; i++)
          {
                      p=(huan *)malloc(sizeof(huan));
                        if(i==1)
                        {
                              hode=p;          
                        }
                        else
                        {
                              p1->next =p;       
                        }
                        p->data =0;
                      p1=p;
          }
          p->next =hode;
          return hode;
}

void shuchu(huan *phode)          //输出
{
          huan *p=phode;

          do
          {
                      printf("%5d",p->data );
                        p=p->next ;
          }
         while(phode!=p );
         printf("\n\n");
}

void weizhi(huan *phode)          //魔术师插牌的方法
{
          int i=2,j;
          huan *p=phode;
          p->data =1;
          
          while(i!=14)
          {
                for(j=0;j<i;j++)
                   {
                            p=p->next ;
                          if(p->data!=0)
                                {
                                       j--;
                                }
                   }
                   p->data=i;
                   i++;               
          }
}

bafengao 发表于 2013-5-28 14:25:11

强烈支持楼主ing……

bafengao 发表于 2013-6-4 20:36:45

积极回帖 好好学习

bafengao 发表于 2013-6-5 18:08:51

谢谢分享 好好学习

bafengao 发表于 2013-6-7 19:02:42

谢谢楼主分享

bafengao 发表于 2013-6-8 14:59:58

好好学习 天天向上

bafengao 发表于 2013-6-9 13:20:11

谢谢楼主无私奉献

bafengao 发表于 2013-6-10 15:54:30

无私奉献呀

bafengao 发表于 2013-6-10 15:55:33

谢谢分享呀

海亦 发表于 2018-11-26 21:49:40

楼主的代码调试过吗{:10_266:}
页: [1]
查看完整版本: 拉丁方阵 作业练习