| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 767 人关注过本帖
标题:[求助]求助关于VF编程问题.小弟初来扎道.准备9月份考试...
只看楼主 加入收藏
crazy385161
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-17
收藏
 问题点数:0 回复次数:1 
[求助]求助关于VF编程问题.小弟初来扎道.准备9月份考试...
有M个人围成一圈,每人一个的编号(1.2.3.....M),从第一个人数起,报到N时这个人就出圈,再继续数,报到N时这个人又出圈。出圈人的位置不再数,知道只剩下一个人为止,排出出圈人的顺序!
搜索更多相关主题的帖子: 考试 
2007-06-17 10:52
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
呵呵,这个问题用VB、VC……甚至早期的Basic、Dbase等任何编程语言都可以写,不一定要用VFP。
如果非要用VFP的话,可以用表,也可以用数组,以下的思路是用表把从1到M的编号按顺序存入表中,然后每隔N个记录下来,并删除表中的记录,不断循环,直到表中无记录(即所有编号均已取出)为止。

CREATE TABLE NOMBER FieldName1 n,8,0 &&设一个只有一个字段的表
Accept lnM,lnN &&接收数据
lcList=’排序顺序是:’ &&用字符变量保存抽出的编号顺序
lcI=lcM
USE NOMBER EXCLUSIV
DO WHILE lcI>0
APPEND BLANK
lcI=LcI-1
ENDDO
REPLACE ALL FieldName1 WITH RECNO()
GO TOP
DO WHIL ERECCOUNT() >0
LnJ= lnN
DO WHILE LnJ>=0
IF LnJ=0
LcList= lcList+ALLTRIM(STR(FieldName1,8,0))+’/’&&保存抽出的编号
DELECT &&删除已抽出的记录
PACK
ELSE
SKIP
IF EOF()
GO TOP
ENDIF
ENDIF
LnJ= LnJ-1
ENDDO
ENDDO
? lcList
以上代码未经验证,仅供参考。

[此贴子已经被作者于2007-6-17 15:22:23编辑过]


两人行已有我师……
2007-06-17 13:37
快速回复:[求助]求助关于VF编程问题.小弟初来扎道.准备9月份考试...
数据加载中...
 
   



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

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