| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1622 人关注过本帖
标题:一道有趣的编程题,大家都来做一做撒
只看楼主 加入收藏
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 
#include<stdio.h>
void main()
{
int a[100],p,q,m,n,i,t;
printf("请输入人的数目:n=");
scanf("%d",&n);
printf("请输入要求数到的中止数:m=");//数到m的猴子退出
scanf("%d",&m);
for(i=0;i<n;i++)
a[i]=i+1;
a[n-1]=0;
p=q=n-1;t=0;//t是计数器;
do
{
p=a[p];
t=t+1;
if(t%m==0)
a[q]=a[p];
else
q=p;
} while(p!=a[p]);
printf("人的总数目为:%d \n",n);
printf("数到的最大值为:%d \n",m);
printf("班长是第%d个人",p+1);
}
源程序代码,不过这里有所改变的就是。这里不局限在数到3退出。这个值可以是你随便设的,当然你可以输入m=3

[此贴子已经被作者于2007-10-22 9:18:36编辑过]


一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-22 08:52
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
用循环单链表很简单实现.
2007-10-22 09:11
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 

你说得对。这个用循环链表最简单了,不过写这道题目的主要为了介绍那个算法,其实这里就是用数组做了一个链表,不过不大容易好理解。而且不用对淘汰的元素释放空间了,呵呵


一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-22 09:20
blosaa
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-17
收藏
得分:0 
用的是环,比我那个简单!!!!!!!
2007-10-22 09:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用风的声音在2007-10-22 9:20:31的发言:

你说得对。这个用循环链表最简单了,不过写这道题目的主要为了介绍那个算法,其实这里就是用数组做了一个链表,不过不大容易好理解。而且不用对淘汰的元素释放空间了,呵呵

错误,其实用数组也一样的做循环.而且又不用删除元素,用到链表太麻烦.


倚天照海花无数,流水高山心自知。
2007-10-22 09:30
风的声音
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2007-3-27
收藏
得分:0 

不过用链表特别好理解,根本就没有这么复杂。对于程序的理解来说,链表更让人容易介绍。
这个方法稍微有些饶,不好理解。不是吗??


一念心清净,莲花处处开。 一花一净土,一土一如来。
2007-10-22 09:58
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
要是不怕建表这些烦琐的事,那你做链表.
我觉得理解主要是要理解怎么循环的,如果设置标记,把删除的记为0,到时候遇到跳过就行.
当然,效率上肯定会慢.

倚天照海花无数,流水高山心自知。
2007-10-22 10:00
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 

用一个循环链表做,既简单又明了


只有想不到,没有做不到
2007-10-22 15:30
shlg1229
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-9-24
收藏
得分:0 
LZ出的题目是经典。但是都被大家验证过了的

个人意见,不代表官方看法
2007-10-22 17:18
wzhings
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-1-16
收藏
得分:0 
又是谭版C的课后题啊..

在我的眼里,这个世界是由0和1组成的!~
2007-10-22 17:55
快速回复:一道有趣的编程题,大家都来做一做撒
数据加载中...
 
   



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

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