当前位置:网站首页>C语言指针之报数

C语言指针之报数

2020-12-16 14:50:37 小Bob来啦

任务描述

题目描述:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。

编程要求

输入

初始人数n

输出

最后一人的初始编号

测试说明

样例输入:

3

样例输出:

2

源代码:

#include<stdio.h>
int main(void)
{
 int n,b,c,d,i;
    scanf("%d",&n);
    int a[n];
    for(b=0;b<n;b++){
        a[b]=b+1;
    }
    c=0;
    d=1;
    while(c<n-1)
        for(i=0;i<n;i++){
            if(*(a+i)!=0){
                if(d==3){
                    *(a+i)=0;
                    c++;d=0;
                }
                d++;
            }
        }
    for(i=0;i<n;i++){
        if(*(a+i)!=0)
        printf("%d",i+1);
    }
    return 0;
}

运行结果:

最后的话:

你有看不惯的事,说明你的智慧不够;你有看不起的人,说明你的慈悲不够。

本文分享自微信公众号 - 程序员Bob(gh_8a1a1530d0bf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间: 2020-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[小Bob来啦]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1761573