exercise2.c
来自「北大青鸟软件工程师ppt的学生用书源代码」· C语言 代码 · 共 32 行
C
32 行
#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 + =
减小字号Ctrl + -
显示快捷键?