p.l883 2021-11-13 11:09 采纳率: 66.7%
浏览 42
已结题

c语言循环报数,数到三退出循环求最后剩余两位同学

c语言问题:全班80人围成一圈循环报数1-2-3-1-2-3...,数到3同学退出圈,问最后哪两位同学留下。用数组和循环。

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-11-13 11:14
    关注

    80个整型的数组默认为0,计数到3则将该数组元素值设置为1,直到最后只剩两个0为止

    #include <stdio.h>
    int main()
    {  
        int a[80] = {0};
        int r =  0;
        int s = 0;
        int i=0;
        while(1)
        {
            s=0;
            for(i=0;i<80;i++)
            {
                if(a[i] != 1)
                {
                    r++;
                    if(r%3==0)
                    {
                        a[i] = 1;
                        r=0;
                    }
                    else
                        s++;
                }
            }
            if(s<3)
                break;
        }
        for(i=0;i<80;i++)
            if(a[i] == 0)
                printf("%d ",i+1);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 已采纳回答 11月13日
  • 创建了问题 11月13日

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)