拉丁方阵 作业练习
#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");
}
魔术师发牌问题 作业练习:
#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++;
}
}
强烈支持楼主ing…… 积极回帖 好好学习 谢谢分享 好好学习 谢谢楼主分享 好好学习 天天向上 谢谢楼主无私奉献 无私奉献呀 谢谢分享呀 楼主的代码调试过吗{:10_266:}
页:
[1]