| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 281 人关注过本帖
标题:求助 如下题
只看楼主 加入收藏
wuchunbing
Rank: 2
等 级:论坛游民
帖 子:27
专家分:24
注 册:2012-10-9
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:2 
求助 如下题
有17个人围成一圈(编号为0~16),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去。直到最后只剩下一
个人为止。问此人原来位置是多少号。
搜索更多相关主题的帖子: 多少 
2012-11-02 14:36
风之子MIKEY
Rank: 3Rank: 3
来 自:江西省抚州市
等 级:论坛游侠
帖 子:39
专家分:108
注 册:2012-9-25
收藏
得分:20 
struct man
{
 int id;
 man *next;
};
struct man *GetMan(int sum)
{
  struct man *p,*head;
  int i,j;
   p=NULL;
   head=NULL;
  for(i=0;i<sum;i++)
    {
     if(p==NULL){p=(struct man *)malloc(sizeof(struct man));head=p;}
       else
         {
            p->next=(struct man *)malloc(sizeof(struct man));
            p=p->next;
          }
       p->id=i+1;
       p->next=NULL;
    }
   p->next=head;
   return head;
}
main()
{
  struct man *pman,*p;
  int i;
  pman=GetMan(17);
  while(pman!=pman->next)
   {
     for(i=0;i<1;i++)
     {
      pman=pman->next;
      }
      p=pman->next;
      pman->next=p->next;
      pman=pman->next;
      free(p);
    }   
  printf("the number is:%d\n",pman->id);
     free(pman);
  return 0;
}
2012-11-02 15:14
wuchunbing
Rank: 2
等 级:论坛游民
帖 子:27
专家分:24
注 册:2012-10-9
收藏
得分:0 
多谢大师 我很多没学到呢 类和指针 还在艰难自学中
2012-11-02 16:37
快速回复:求助 如下题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065507 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved