📄 exercise2.c
字号:
#include <stdio.h>
#define MAX 50
void main()
{
int i,k,m,n,num[MAX],*p;
printf("请输入总人数:");
scanf("%d",&n);
p=num;//指向数组的指针
for(i=0;i<n;i++)
*(p+i)=i+1;//为数组中的元素赋值,即给这n个人编号为从1~n
i=0;//控制指针偏移
k=0;//报数计数器1~3
m=0;//退出人数计数器
while(m<n-1)
{
if(*(p+i)!=0)//开始报数,只要编号不等于零,则报数计数器+1
k++;
if(k==3)//报数到3时
{
*(p+i)=0;//将该人的编号置为0,表示该人退出
k=0;//报数计数器置为0
m++;//每退出一个人,退出人数计数器+1
}
i++;//指针移动到下一个元素
if(i==n)//如果到了第n个人,则从第一个人开始
i=0;
}
while(*p==0)//检索编号不为0的人,即最后留下来的人
p++;
printf("编号为 %d 的学员被当选为班长。\n",*p);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -