| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 792 人关注过本帖
标题:出圈问题,程序错误
只看楼主 加入收藏
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
结帖率:83.33%
收藏
 问题点数:0 回复次数:7 
出圈问题,程序错误
程序错在哪了?
#include <iostream.h>
main()
{
    int a[101];
    int i,j,t=0,n=0;
    for(i=1;i<=100;i++)//为100个人编号
       a[i]=i;
       i=1;
    while(n<100)
    {
        if(a[i]!=0)//t用于循环记数
            t++;
        if(t==3) //t为3时退出者标为0,记数重新开始,退出人数加一
        {a[i]=0; t=0; n++;}
      i++;
      if(i==100)i=1;//当循环到最后时又重新开始记数
    }
        i=1;
    while(a[i]==0) i++;//找到数组中唯一没被标为0的元素
        cout<<a[i];

}

[[it] 本帖最后由 yqiong 于 2008-3-18 12:33 编辑 [/it]]
搜索更多相关主题的帖子: 程序错误 出圈 int main include 
2008-03-18 10:42
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
以下是原题:
有n 个人围成一圈,顺序排号, 从第一个人开始报数(1-3),凡是报到3的人退出圈子,问最后留下的是原来的第几号的那位
2008-03-18 12:35
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
怎么没人响应呀!
2008-03-18 12:35
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你去找找吧..我以前用循环链表写过..你写的很麻烦..容易混了条件..

学习需要安静。。海盗要重新来过。。
2008-03-18 13:09
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
#include <iostream.h>
main()
{
    int a[101];
    int i,t=1,n=0;
    for(i=1;i<101;i++)
       a[i]=i;
       i=0;
    while(1)
    {
        if(a[++i]!=0)
        {
            t++;
           if(t%3==0)
           {
            cout<<a[i]<<endl;
            a[i]=0;
            n++;
           }
      
           if(i>=100)i=1;//当循环到最后时又重新开始记数
           if(n==99) break;
        }
    }
        i=1;
    while(a[i++]==0);//找到数组中唯一没被标为0的元素
        cout<<a[i-1];

}

学习需要安静。。海盗要重新来过。。
2008-03-18 13:29
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
#include <iostream.h>
void main()
{
    int a[101];
    int i,t=0,n=0;
    for(i=1;i<=100;i++)//为100个人编号(1-100)
       a[i]=i;
    i=1;
    while(n<99)//n不应该大于99,为99时不循环
    {
        if(a[i]!=0)//t用于循环记数
            t++;
        if(t==3) //t为3时退出者标为0,记数重新开始,退出人数加一
        {a[i]=0; t=0; n++;}
      i++;
      if(i==100)i=1;//当循环到最后时又重新开始记数
    }

    i=1;
    while(a[i]==0) i++;//找到数组中唯一没被标为0的元素
        cout<<a[i];

}
2008-03-18 14:48
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
上述运行结果为100,可6#的运行为1,这怎么回事呀?
定义的组数不一,6#是a[100],而上述的是a[101],但也不应该是这样的呀!
2008-03-18 14:51
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
我的只是给你大概..只是给你看的..呵呵..你可能还要动动大脑..

学习需要安静。。海盗要重新来过。。
2008-03-18 15:01
快速回复:出圈问题,程序错误
数据加载中...
 
   



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

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