当前位置: 首页 > news >正文

C语言练习(29)

13个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。本题要求用链表实现。

#include <stdio.h>
#include <stdlib.h>// 定义链表节点结构体
typedef struct Node {int num;struct Node* next;
} Node;// 创建循环链表
Node* createList(int n) {Node* head, * p, * q;head = (Node*)malloc(sizeof(Node));head->num = 1;p = head;for (int i = 2; i <= n; i++) {q = (Node*)malloc(sizeof(Node));q->num = i;p->next = q;p = q;}p->next = head;return head;
}// 执行报数并删除节点操作
Node* deleteNode(Node* head) {Node* p = head, * prev;while (p->next != p) {for (int i = 1; i < 3; i++) {prev = p;p = p->next;}prev->next = p->next;Node* temp = p;p = p->next;free(temp);}return p;
}int main() {Node* head = createList(13);Node* last = deleteNode(head);printf("最后留在圈子中的人的原始序号是: %d\n", last->num);free(last);return 0;
}

http://www.lryc.cn/news/528109.html

相关文章:

  • Android实训九 数据存储和访问
  • 实验一---典型环节及其阶跃响应---自动控制原理实验课
  • SOME/IP--协议英文原文讲解2
  • matlab中,fill命令用法
  • 【Linux】Linux C判断两个IPv6地址是否有包含关系
  • 【玩转全栈】----Django基本配置和介绍
  • mysql 学习6 DML语句,对数据库中的表进行 增 删 改 操作
  • 自动化运维在云环境中的完整实践指南
  • 一分钟搭建promehteus+grafana+alertmanager监控平台
  • 【10.2】队列-设计循环队列
  • 设置jmeter界面图标字体大小
  • Xposed-Hook
  • 设计模式Python版 原型模式
  • QT:图像上绘制图形
  • GPU上没程序在跑但是显存被占用
  • wordpress代码结构解析
  • 【Unity3D】实现2D小地图效果
  • 关联传播和 Python 和 Scikit-learn 实现
  • https数字签名手动验签
  • LeetCode:62.不同路径
  • 如果我想设计一款复古风格的壁纸,应该选什么颜色?
  • 【数据结构】树的基本:结点、度、高度与计算
  • 【Pytest】生成html报告中,中文乱码问题解决方案
  • week08_文本匹配任务
  • JUC--ConcurrentHashMap底层原理
  • 【2024年华为OD机试】(C卷,200分)- 推荐多样性 (JavaScriptJava PythonC/C++)
  • 【教学类-89-01】20250127新年篇01—— 蛇年红包(WORD模版)
  • [权限提升] 操作系统权限介绍
  • DeepSeek异军突起,重塑AI格局
  • git的理解与使用