论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
猴子选大王-C源代码

[科技论文网] http://www.scipapers.com    2007-12-01  

    猴子选大王-C源代码

    今天在一个论坛上看到一个关于猴子选大王的源代码,看了以后,里面有几处的错误,就动手改了一下,发出来,给朋友们看看。

    ++++++++++++++++++++++++++++++++++

    #include<stdio.h>
    #define M 10/*定义猴子总数*/
    #define S 3/*数猴子轮N出圈*/
    void main()
    {
            int i,j,k,temp,a[M];
            for(i=0;i<M;i++)
                    a[i]=i+1;
      for(i=0;i<M;i++)
       printf("原始的数组顺序如下:%d  ",a[i]);

    printf("\n");
            for(i=M-1;i>=0;i--)
            {
                    for(k=1;k<=S;k++)
                    {
                            temp=a[0];
                            for(j=0;j<i;j++)
                                    a[j]=a[j+1];
                            a[i]=temp;
                    }
            }
            for(i=M-1;i>=0;i--)
                    printf("猴子出列的顺序如下:%d ",a[i]);

    }

    ++++++++++++++++++++++++++++++++++

    这个程序的输入是猴子出列的顺序,数组的第一个就是大王的编号,呵呵

    上面的输入结果如下:

    1 2 3 4 5 6 7 8 9 10
    3 6 9 2 7 1 8 5 10 4 Press any key to continue

    可见,大王就是4。

    在数组定义的时候不能用变量来定义数组的长度,所以,有多少猴子参加选大王,就只能在程序中设定了,但是

    数到几猴子出列,这个可以随机的设定,下面是用户输入这个值的程序:

    =====================================================

    #include<stdio.h>
    #include<dos.h>
    #define M 10/*定义猴子总数*/
    void main()
    {
            int i,j,k,temp,a[M],S;
            for(i=0;i<M;i++)
                    a[i]=i+1;
      for(i=0;i<M;i++)
       printf("%d ",a[i]);
      printf("\n请输入数到几猴子出圈:");
            scanf("%d",&S);
            for(i=M-1;i>=0;i--)
            {
                    for(k=1;k<=S;k++)
                    {
                            temp=a[0];
                            for(j=0;j<i;j++)
                                    a[j]=a[j+1];
                            a[i]=temp;
                    }
            }
            for(i=M-1;i>=0;i--)
                    printf("%d ",a[i]);
           
    }

    =====================================================

    输出结果是:

    1 2 3 4 5 6 7 8 9 10
    请输入数到几猴子出圈:3
    3 6 9 2 7 1 8 5 10 4 Press any key to continue

    还有一种情况就是,轮到每个猴子,他都报出一个数字,数到这个数字的猴子出列,这样就更公平了,呵呵……

    程序如下:

    ================================

    #include<stdio.h>
    #include<dos.h>
    #define M 10/*定义猴子总数*/

    void main()
    {
            int i,j,k,temp,a[M],S;
            for(i=0;i<M;i++)
                    a[i]=i+1;
      for(i=0;i<M;i++)
       printf("%d ",a[i]);
      printf("\n");
           
            for(i=M-1;i>=0;i--)
            {
                    printf("请输入出列的数:");
           scanf("%d",&S);
           for(k=1;k<=S;k++)
                    {
                            temp=a[0];
                            for(j=0;j<i;j++)
                                    a[j]=a[j+1];
                            a[i]=temp;
                    }
            }
            for(i=M-1;i>=0;i--)
                    printf("%d ",a[i]);
           
    }

    ================================

    结果如下,一次是按照每次都是3的,另外一次是随机输入的

    1 2 3 4 5 6 7 8 9 10
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    请输入出列的数:3
    3 6 9 2 7 1 8 5 10 4 Press any key to continue

    1 2 3 4 5 6 7 8 9 10
    请输入出列的数:3
    请输入出列的数:6
    请输入出列的数:5
    请输入出列的数:7
    请输入出列的数:8
    请输入出列的数:9
    请输入出列的数:5
    请输入出列的数:4
    请输入出列的数:2
    请输入出列的数:6
    3 9 5 4 7 2 6 8 1 10 Press any key to continue

    通过比较,这样的结果是一样的,呵呵……

        来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

  
猴子选大王-C源代码
下面没有链接了     快速字符串搜索算法KMP
最新论文
·[程序设计]猴子选大王-C源代码
·[程序设计]快速字符串搜索算法KMP
·[程序设计]最短路径算法源码
·[程序设计]模式串匹配问题总结
·[程序设计]稀疏矩阵相加的C程序
·[程序设计]逆置动态单链表
·[程序设计]采用比特位运算改进的N皇后算法
·[程序设计]快速排序C语言实现
·[程序设计]SHA1算法源代码
·[程序设计]利用二叉树结构的快速排序
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com