标题:有10个人围成一圈,顺序排号。从第一个人开始报数(从l到3报数),凡报到3的人 ...
只看楼主
梦幻小子
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-2
 问题点数:0 回复次数:18 
有10个人围成一圈,顺序排号。从第一个人开始报数(从l到3报数),凡报到3的人退出圈

有10个人围成一圈,顺序排号。从第一个人开始报数(从l到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
本人想实现这个题目,可不知道程序有什么问题,大家帮我看看好吗?

#include<stdio.h>
void main()
{
int n=0,m=0,a[10]={1,2,3,4,5,6,7,8,9,10},*p,k=10,h;
p=&a[0];
while(m<9)
{while(n<2)
{if(*p<k) {p++,n++;}
else {p=a,n++;}}
h=0;
if(*p=k) {k--,n=0,p=a;}
else
{{do
{*(p+h)=*(p+h+1),h++;}
while(*(p+h+1)==k);}
n=0,m++;}

}
printf("%d\n",*p);
}

搜索更多相关主题的帖子: 顺序 排号 
2007-04-19 20:10
梦幻小子
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-2
得分:0 
ding
2007-04-19 21:16
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
大哥你写的太乱了.
实在看不懂
爱莫难助

2007-04-19 21:18
梦幻小子
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-2
得分:0 
2007-04-19 21:27
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 

终于给你改出来了,写的还不错,思路挺清晰的,以后加油
#include<stdio.h>
void main()
{
int n=0,m=0,a[10]={1,2,3,4,5,6,7,8,9,10},*p,k=10,h;
p=&a[0];
while(m<9)
{
while(n<2)
{
if(*p<k) {p++,n++;}
else {p=a,n++;}
}
h=0;
if(*p==k) {k=*(p-1),n=0,p=a,m++;}
else
{
do
{
*(p+h)=*(p+h+1),h++;
}
while(*(p+h)!=k);
n=0,m++;
}

}
printf("%d\n",*p);
}


2007-04-19 21:33
梦幻小子
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-2
得分:0 

呵呵!太谢谢了,好象只该这里 if(*p==k)就行了吧,弄了一个晚上。。。

2007-04-19 22:46
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
得分:0 
以后要注意代码规范呀....

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-04-19 22:52
梦幻小子
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-4-2
得分:0 
知道咯。。。谢谢拉
2007-04-19 22:53
spider1987
Rank: 1
等 级:新手上路
帖 子:172
专家分:0
注 册:2007-2-18
得分:0 
编程风格太差了- -写这么乱
2007-04-20 08:46
jiushiwo
Rank: 1
等 级:新手上路
帖 子:170
专家分:0
注 册:2007-3-10
得分:0 

做你自己! everything will go! lanfei_1234@
2007-04-20 08:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-133265-1-1.html




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

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