标题:猴子选大王问题,不知为何我的程序运行不起来
取消只看楼主
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
结帖率:66.67%
已结贴  问题点数:1 回复次数:12 
猴子选大王问题,不知为何我的程序运行不起来


#include<stdio.h>
void main()
{
    int n,m,i,k,count=0,count2=0,z=1,p=1,starting=1;
    while(1)
    {   printf("输入猴子总数以及报数终止数字并用逗号隔开(猴子数小于50只):");
        scanf("%d,%d",&n,&m);
        if(n>1&&n<1000&&m>=2)
           break;
    }
    int a[50];
    for(i=1;i<=n;i++)
        a[i]=i;
    while(z=1)
    {
            while(p=1)
        {
        for(i=starting;i<=n;i++)
            {
              if(a[i]!=0)
                count=count+1;
              if(count=m)
              {
                  a[i]=0;
                  starting=i+1;
                  break;
              }
              if(i==n)
              {
                  p=0;
                  count=0;
                  break;
              }
            }
        }
        for(k=1;k<=n;k++)
            {
                if(a[k]!=0)
                count2=count2+1;
            }
        if(count2==1)
            z=0;
        else
            count2=0;
    }
    printf("%4d号猴子为猴王:",starting-1);
}
搜索更多相关主题的帖子: starting include starting count include count 大王 大王 
2014-04-11 21:44
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
自顶  求帮助  写了两种 最后这种感觉很好  可是还是无法运行
2014-04-11 21:46
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
来人啊~~~~~~~~~~
2014-04-11 21:59
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
有人解答么~~ 大神求帮忙
2014-04-11 22:06
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
回复 5楼 azzbcc
好的!我改了!   另外  我百度到的,约瑟夫问题很多都是用到了其他内容,链表呀、什么的,我才学到数组,这道题也规定用数组做~  哎~
2014-04-11 22:29
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
我检查了一下  以这个为最新的:但是还是无法运行

程序代码:
#include<stdio.h>
void main()
{
    int n,m,i,k,count=0,count2=0,z=1,p=1,starting=1;
    /*while(1)
    {   */printf("输入猴子总数以及报数终止数字并用逗号隔开(猴子数小于一千只):");
        scanf("%d,%d",&n,&m);
        /*if(n>1&&n<1000&&m>=2)
           break;
    }*/
    int a[10];
    for(i=1;i<=n;i++)
        a[i]=i;
    while(1==z)
    {
            while(1==p)
        {
        for(i=starting;i<=n;i++)
            {
              if(a[i]!=0)
                count=count+1;
              if(count==m)
              {
                  a[i]=0;
                  starting=i+1;
                  count=0;
                  break;
              }
              if(i==n)
              {
                  p=0;
                  break;
              }
            }
        }
        for(k=1;k<=n;k++)
            {
                if(a[k]!=0)
                count2=count2+1;
            }
        if(count2==1)
            z=0;
        else
        {
            count2=0;
            p=1;
        }
    }
    printf("%4d号猴子为猴王:",starting-1);
}
2014-04-11 22:41
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
回复 8楼 fragileeye
可能是!可能写的作业多了。。。有点混乱  你的程序你运行到结果了么?我把你的运行了一下,发现什么结果都没有。。。怎么回事?~~求解~~
2014-04-11 23:32
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
回复 5楼 azzbcc
我想了一下 我觉得我的想法有问题 因为万一要报的数字比猴子数多我的算法就错了。。。  哎。。。只用数组感觉好难做啊
2014-04-11 23:56
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
回复 9楼 lol1234
我想了一下 我觉得我的想法有问题 因为万一要报的数字比猴子数多我的算法就错了。。。  哎。。。只用数组感觉好难做啊
2014-04-12 00:27
lol1234
Rank: 1
等 级:新手上路
帖 子:46
专家分:3
注 册:2014-4-11
得分:0 
回复 15楼 Andrew_Lee
谢谢你!我修改了一下,加了检录 太谢谢你了!   谢谢各位出力的大牛~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-04-12 14:35



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




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

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