| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1020 人关注过本帖
标题:c++指针问题报数问题
取消只看楼主 加入收藏
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
结帖率:66.67%
收藏
已结贴  问题点数:12 回复次数:3 
c++指针问题报数问题
N个人围成一圈(编号分别为1,2,……,N,N<65535),从1号开始按照编号方向报数1、2、3,...n,凡报n的人离开,再从下一个人开始继续报数1、2、3..,n,报n的人又离开,反复进行此操作,请你编写程序,计算出最后留下的人的序号是多少?

输入:标准输入,第一个正整数为人的数目N值,第2个数为每次报数数,仅一行输入.

输出:使用一行输出你计算的最后留下来的人的标号.

样例:

标准输入:

5 3

标准输出:

4

求各位帮帮忙。
2013-03-07 21:24
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
收藏
得分:0 
#include <iostream>
using namespace std;
int main()
{
    int n,m,a[100],*p,k,l;
    cin>>n>>m;
    for(i=0;i<n;i++)
        *(p+i)=i+1;
    j=0;
    i=0;
    k=0;
    while(j<n-1)
    {
        if(*(p+i)!=0)
        {
            k++;
        }
        if(k==m)
        {
            cout<<*(p+i)<<endl;
            j++;
            k=0;
           *(p+i)=0;

        }
        i++;
        if(i==n)
        {
          i=0;
        }
    }
    cout<<*p<<endl;
    return 0;
}

哪里错了?????编不出来
2013-03-08 13:59
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
收藏
得分:0 
谢谢各位,我知道怎么做了
2013-03-08 15:56
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
收藏
得分:0 
回复 3楼 Pirelo
谢谢祢的好意,我还没学到哪里来
2013-03-08 15:57
快速回复:c++指针问题报数问题
数据加载中...
 
   



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

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