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

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

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;
}