📄 exam10-3.cpp
字号:
/*文件名:exam10_3.cpp*/
#include <stdio.h>
#define N 10
main()
{
int s,m,n=10,i,pre,k,count;
struct child
{
char name[10];
int nextp;
} link[N]={"Ch1",1,"Ch2",2,"Ch3",3,"Ch4",4,"Ch5",
5,"Ch6",6,"Ch7",7,"Ch8",8,"Ch9",9,"Ch10",0}; /*存放初始数据*/
printf("s,m:");
scanf("%d%d",&s,&m);
k=s-1; /*k为第s个小孩对应的下标*/
count=0;
if (k==0) /*pre:下标为k的小孩的前一个小孩的下标*/
pre=N-1;
else
pre=k-1;
printf("出列顺序:");
while (count!=n)
{
printf("%s ",link[k].name); /*下标为k的小孩出列*/
link[pre].nextp=link[k].nextp; /*将其从队列中删除k*/
k=link[k].nextp;
count++; /*出列数增1*/
i=1;
while (i!=m) /*报数直到第m个小孩*/
{
pre=k;
k=link[k].nextp;
i++;
} /*循环结束,k为报数到的第m个小孩的下标*/
}
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -