|
|
发表于 2022-12-3 18:10:08
|
显示全部楼层
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct node { // <------------------------------------------------ 注意这里
- int date;
- struct node* next; // <------------------------------------------------ 注意这里
- }node; // <------------------------------------------------ 注意这里
- int main() {
- int n, m;
- scanf("%d %d", &n, &m);
- node* head, * p, * now, * prev;
- head = (node*)malloc(sizeof(node));
- head->date = 1; head->next = NULL;
- now = head;
- for (int i = 2; i <= n; i++) {
- p = (node*)malloc(sizeof(node));
- p->date = i; p->next = NULL;
- now->next = p;
- now = p;
- }
- now->next = head;
- now = head, prev = head;
- while ((n--) > 1) {
- for (int i = 1; i < m; i++) {
- prev = now;
- now = now->next;
- }
- printf("%d ", now->date);
- prev->next = now->next;
- free(now);
- now = prev->date;
- }
- printf("%d", now->date);
- free(now);
- return 0;
- }
复制代码 |
|