标题:[求助]求救,帮我用C语言作作这两道题目
取消只看楼主
我是菜鸟请帮我
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-4
 问题点数:0 回复次数:3 
[求助]求救,帮我用C语言作作这两道题目

1 编写程序JOSEPHUS.CN<100)个小孩围成一圈,并给他们依次编号,老师指定从第S个小孩开始报数,报到第M个小孩出列,然后从下一个小孩开始报数,依次重复下去,直到所有的孩子都出列,试输出小孩的出列顺序。

要求:

(1) NSM从命令行输入,将小孩的出列顺序输出到屏幕和JOSEPHUS.DAT文件中。

(2) 用结构数组实现:struct child { int nextp; /* 指向下一个小孩 */

int num; /* 小孩的号码 */

} link[100];

2.编写希尔排序程序SHELL.C

希尔排序的基本思想是:先将整个待排序中的n个元素序列分割成若干个子序列分别进行排序,待整个序列中的元素“基本有序”时,再对全体记录进行一次排序。具体操作是:首先取增量d1=n/2,所有距离为d1倍数的元素进行比较排序,然后取d2=d1/2,重复上述分组和排序,直至取di=1,进行一次比较排序后,所有元素将正确排好序。

例如,要把下列数据元素按升序排列,则希尔排序的过程如下图所示。

75 76 74 25 34 19 12 65 初始状态

34 19 12 25 75 76 74 65 d1=n/2=4


12 19 34 25 74 65 75 76 d2=d1/2=2


12 19 25 34 65 74 75 76 d3=d2/2=1

希尔排序过程

要求:

(1) 待排序的数据个数n和数据放在文件SHELL.IN中。

(2) 从命令行输入文件名SHELL.IN,根据SHELL.IN中的待排序数据个数n,对接收数据的指针变量*v进行动态内存分配。

(3) 将输入的待排序数据按一行5个数据显示在屏幕上。排序结果输出到屏幕上的同时输出到文件SHELL.OUT中。

搜索更多相关主题的帖子: C语言 Roman Times 
2005-07-04 10:51
我是菜鸟请帮我
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-4
得分:0 
怎么没人帮我

2005-07-04 10:53
我是菜鸟请帮我
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-4
得分:0 
谢谢了,老师一点都没讲过的,要我们作,我是想先读读源程序,读懂后在自己写~~

2005-07-05 09:02
我是菜鸟请帮我
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-4
得分:0 
讲到了数组和指针,但都是皮毛呀,后面就全没讲过了!!
现在要我们作课程设计呀!
真是苦呀~~

2005-07-06 08:51



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




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

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