实验八 结构体与其他构造类型
一、实验目的
- 掌握结构体变量的定义和引用。
- 掌握结构体数组和结构体指针的使用。
- 培养使用结构体解决实际问题的能力。
二、实验内容
4、m 个人围成一个圈,从第一个人开始顺序报数1,2,3,4……,凡是报到n者退出圈子。找出最后留在圈子中的人是原来的几号。要求用链表实现。
m在[2,50]区间,n在[2,m-1]区间,输出数据的格式为%3d。
函数接口定义:
在这里描述函数接口。例如:
void games(struct Person link[],int m,int n)
输入样例:
在这里给出一组输入。例如:
8 3
输出样例:
在这里给出相应的输出。例如:
out No: 3 6 1 5 2 8 4
The last one is 7
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<stdio.h>
int main() {
int i, k, n, m, y;
int num[50];
int *p;
scanf("%d %d", &n, &y);
p = num;
for (i = 0; i < n; i++) {
*(p + i) = i + 1;
}
i = 0;
k = 0;
m = 0;
printf("out No:");
while (m < n - 1) {
if (*(p + i) != 0) {
k++;
}
if (k == y) {
printf("%3d",*(p + i) );
*(p + i) = 0;
k = 0;
m++;
}
i++;
if (i == n) {
i = 0;
}
}
printf("\n");
while (*p == 0) {
p++;
}
printf("The last one is %3d\n", *p);
return 0;
}