| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 843 人关注过本帖
标题:求助 帮看看程序 那错了
取消只看楼主 加入收藏
babysky_h
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
 问题点数:0 回复次数:1 
求助 帮看看程序 那错了
N个人组成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位?
那位打个看看我的程序那错了! 谢谢了
#include<stdio.h>
f(int *pt,int n)
{int m,i,t;
m=n%3;
while(n>=3)
{n=(n-n/3);
for(i=1;i<=n;i++)
   {if(i=3) continue;
    t=i/3;
   *(pt+i-t-1)=*(pt+t);
   }
   for(i=n;i>=1;i++)
   *(pt+i-1+m)=*(pt+i-1);
   for(i=1;i<=m;i++)
   *(pt+i-1)=*(pt+n-m+1);

 }
 for(i=0;i<n;i++)
  printf("%d",*(pt+i));
  }
  #define N 5
  void main()
  {int a[N],*p,i;
   p=a;
  for(i=0;i<N;i++)
    a[i]=i+1;
 f(p,N);
}
搜索更多相关主题的帖子: int void continue 
2008-02-03 16:22
babysky_h
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-9
收藏
得分:0 
我知道那错了!!谢谢支持 重新发一遍!
#include<stdio.h>
void f(int *pt,int n)
{int m,i,t;
while(n>=3)
{m=n%3;
for(i=0;i<n;i++)
   {if((i+1)%3==0) continue;
    t=(i+1)/3;
   *(pt+i-t)=*(pt+i);
   }
   for(i=n-1;i>=0;i--)
   *(pt+i+m)=*(pt+i);
   for(i=0;i<m;i++)
   *(pt+i)=*(pt+n-1);
n=(n-n/3);

}
for(i=0;i<n;i++)
  printf("%5d",*(pt+i));
  }
  #define N 5
  void main()
  {int a[N],*p,i;
   p=a;
  for(i=0;i<N;i++)
    {a[i]=i+1;
    printf("%2d",a[i]);
    }
    printf("\n");
    f(p,N);
getch();
}
2008-02-07 15:38
快速回复:求助 帮看看程序 那错了
数据加载中...
 
   



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

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