永发信息网

C语言结构体 报数游戏 输入人数和结束数字 循环报数,报到结束数字出局,至剩一人 输出剩的一人是第几位

答案:2  悬赏:80  手机版
解决时间 2021-02-06 20:50
  • 提问者网友:了了无期
  • 2021-02-05 22:02
C语言结构体 报数游戏 输入人数和结束数字 循环报数,报到结束数字出局,至剩一人 输出剩的一人是第几位
最佳答案
  • 五星知识达人网友:孤独的牧羊人
  • 2021-02-05 22:29
这其实是个循环链表的问题,但是如果不用链表来解答,也很简单,我看你是想用循环的方式来解答而不是用列表的方式,我就写了一个

#include 

struct People
{
    int number;
};
int main()
{
    struct People peo[1000] = {0};
    int n, num;
    printf("请输入人数:");
    scanf("%d",&n);
    printf("请输入报数结束数字:");
    scanf("%d",&num);
    int i = 0;
    for(i=0; i    {
        peo[i].number=i+1;
    }
    int j = 0;
    int peopleNumber = n;
    num--;
    for (i = 0; n > 1; i++){
     if(i > peopleNumber){
     i = 0;
    }
     if(peo[i].number != 0){
     j++;
    }else{
     continue;
     }
    if(j % (num+1) == 0){
     peo[i].number = 0;
     n--;
     }
    }
    for (i = 0; i < peopleNumber; i++){
     if (peo[i].number != 0)
     printf("%d", peo[i].number);
    }
    return 0;
}
全部回答
  • 1楼网友:污到你湿
  • 2021-02-05 23:12



你看看这个对不对
如果对了望采纳
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯