请教高手解释一下joseph环C程序代码(最好逐行):
#include
#include
typedef struct node{
int name;
int password;
struct node *next;
}NODE,*link;
main()
{
int num_node,one,num_up;
link pointer_beg,pointer_last,new_nd,pointer,head;
printf("\n\t\t\t\tJoseph环\n\n");
printf("\t\t请输入人数:\n\n");
printf("\t\t\tThe number is ");
scanf("%d",&num_node);
head=(link)malloc(sizeof(NODE));
head->next=NULL;
head->name=1;
pointer_beg=head;
for(one=2;onenext=NULL;
new_nd->name=one;
head->next=new_nd;
head=new_nd;
if(one==num_node)
pointer_last=new_nd;
}
pointer_last->next=pointer_beg;
printf("\n\t请你依次输入这几个人的密码\n\n");
pointer=pointer_beg;
for(one=1;onename);
scanf("%d",&pointer->password);
pointer=pointer->next;
}
printf("\n\t\t\t\t请你输入初始整数上限:");
scanf("%d",&num_up);
printf("\n\t他们的顺序依次是:");
while(1)
{
for(one=1;onenext;
}
printf("%d\t",pointer->name);
num_up=pointer->password;
head->next=pointer->next;
num_node--;
if(num_node==0)
{
printf("\n\t\t\t\t程序运行结束。\n\n");
break;
}
}
return (0);
}
|