| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 398 人关注过本帖
标题:大家来看看着个程序,有没有跟简单的方法
取消只看楼主 加入收藏
初心者1号
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-3-31
收藏
 问题点数:0 回复次数:1 
大家来看看着个程序,有没有跟简单的方法
#include <stdio.h>
#define N 50
void main()
{
int i,m,n,k,ary[N],s,d,*p;
p=ary;
printf("请输入人数:");
scanf("%d",&n);
printf("请输入从第几号开始:");
scanf("%d",&d);
printf("请输入数到几:");
scanf("%d",&s);
/*if(i=0)
*(p+i)=5;*/
for(i=0;i<n;i++)
*(p+i)=1;
i=0;
m=0;
k=0;
while(m<n-1)
{
if(*(p+i+d)!=0) //着里会不会有下标越界的错误呢?比如i+d>n的情况。
k++;
if(k==s)
{
*(p+i)=0;
k=0;
m++;
}
i++;
i=i%n;
}
while(*p==0)
p++;
printf("编号%d为的学员被当选为班长。\n",*p);

}
2007-04-11 22:22
初心者1号
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-3-31
收藏
得分:0 
这个程序是要将N个人围成1圈,顺序编号,从第(自己定)个人报数(从1报到几也是自己定,比如3)凡是报到3的人就出去
然后下一个人重新开始,最后留下的就被选为班长。
2007-04-11 22:51
快速回复:大家来看看着个程序,有没有跟简单的方法
数据加载中...
 
   



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

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