当前位置: 代码迷 >> C语言 >> [求助]求救,帮我用C语言作作这两道题目
  详细解决方案

[求助]求救,帮我用C语言作作这两道题目

热度:190   发布时间:2005-07-04 10:51:00.0
[求助]求救,帮我用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  

----------------解决方案--------------------------------------------------------
怎么没人帮我
----------------解决方案--------------------------------------------------------
最讨厌让别人做作业的人
----------------解决方案--------------------------------------------------------
关于希尔排序只给你算法,你自己改吧
    void shellsort(int v[],int n)
{     int gap,i,j,temp;
      for(gap= n/2;gap&gt;0;gap/=2)
      for(i=gap;i&lt;n;i++)
      for(j=i-gap;j&gt;=0&amp;&amp;v[j]&gt;v[j+gap];j-=gap){
          temp=v[j];
          v[j]=v[j+gap];
          v[j+gap]=temp;
         }
}
----------------解决方案--------------------------------------------------------
我不会,只好帮你顶一下了,呵呵
----------------解决方案--------------------------------------------------------
谢谢了,老师一点都没讲过的,要我们作,我是想先读读源程序,读懂后在自己写~~
----------------解决方案--------------------------------------------------------
学C老师不能没给讲过结构体吧,,狂汗,,,怎么说现在也是一个学期末了,你不用考试的吗?
----------------解决方案--------------------------------------------------------
如果数是这样的: 75 74 25 34 76 65 19 12 75 65 19 12 76 74 25 34 d1=n/2=4 19 12 65 75 25 34 74 76 d2=d1/2=2 12 19 65 75 25 34 74 76 d3=d2/2=1 怎么会是这个样子?是不是我哪里理解错了?帮解释一下啊
----------------解决方案--------------------------------------------------------
讲到了数组和指针,但都是皮毛呀,后面就全没讲过了!!
现在要我们作课程设计呀!
真是苦呀~~
----------------解决方案--------------------------------------------------------
都什么社会了还指望跟老师学知识啊,自学才是硬道理
----------------解决方案--------------------------------------------------------
  相关解决方案