OJ刷题之旅
题目描述依次给你n个学生的姓名、学号然后Q次询问对于每一次询问你会得到一个学号请你输出该学号对应的姓名。输入第一行输入一个整数n1n100然后n行每行输入一个长度不超过15的字符串s表示姓名和一个10位整数表示学号。学号保证没有前导零且每个学号都不相同 再输入一个整数Q0Q10紧接着Q次询问每次询问输入一个10位整数表示询问的学号。保证询问的学号存在输出对于每一次询问输出与学号对应的姓名。样例输入 Copy 5 Anoyer 1000000000 LZH 1314521520 ZZ 9876543210 zhangfei 1234567890 ayi 5432198760 2 1314521520 1000000000输出 Copy LZH Anoyer来源/分类结构体题解以下是一个基本的 C 语言程序用于实现所描述的功能#include stdio.h #include string.h#define MAX_N 100#define ID_LENGTH 11/* 定义学生结构体 */struct student {char name[16];char id[ID_LENGTH];};int main() {int n, q, i, j;struct student students[MAX_N];/* 读入学生信息 */ scanf(%d, amp;n); for (i 0; i lt; n; i) { scanf(%s %s, students[i].name, students[i].id); } /* 处理查询请求 */ scanf(%d, amp;q); for (i 0; i lt; q; i) { char query[ID_LENGTH]; scanf(%s, query); /* 在学生列表中查找该学号对应的姓名 */ for (j 0; j lt; n; j) { if (strcmp(students[j].id, query) 0) { printf(%s\n, students[j].name); break; } } } return 0;}程序首先定义了一个结构体student表示一个学生的信息。该结构体包含两个成员变量name表示学生姓名类型为字符数组长度为 16id表示学生学号类型为字符数组长度为 11。然后程序读入了一个整数n表示学生数量。接下来的n行每行输入一个字符串s即学生姓名和学号其中姓名和学号用一个空格分隔。程序将读入的学生信息存储在一个长度为n的结构体数组students中。接着程序读入一个整数q表示查询请求的数量。程序使用一个循环处理每个查询请求首先读入一个字符串query表示要查询的学号然后在学生列表中查找该学号对应的姓名并输出结果。如果在列表中没有找到对应的学号则程序不会输出任何内容。注意在本程序中我们使用了 C 语言标准库中的strcmp函数来比较两个字符串是否相等。该函数返回值为 0 表示两个字符串相等。问题描述本题C链表结构体定义如下 struct lis{ int v; struct lis* next; }; typedef struct lis* Lis; 要求实现函数 int sum(Lis head)//返回以head为头指针(本身不存值)的链表各个结点值的和输入 一个数n代表链表的长度 接下来n个数ai代表每个节点的内容n与ai范围[1,100]输出一行和样例样例输入 Copy 3 1 2 3 样例输出 Copy 6下面是一个实现题目要求的 C 语言函数sum的代码int sum(Lis head) { int sum 0; Lis curr head-next; while (curr ! NULL) { sum curr-v; curr curr-next; } return sum; }该函数计算以参数head所指向的链表头结点为头节点的链表中各个结点值的和并将结果作为返回值返回。其中参数head是一个指向链表头节点的指针链表的每个节点由结构体lis表示其中v成员变量存储该节点的值next成员变量存储指向下一个节点的指针。在代码中我们首先将变量sum初始化为 0然后从链表的第二个节点开始遍历整个链表。遍历过程中对于每个节点我们将其值加到sum中然后继续遍历下一个节点。当遍历到链表尾部时我们退出循环并返回sum。需要注意的是在链表中头结点本身不存储任何实际数据仅用于标记链表的起始位置。因此我们在遍历链表时应从头结点的next指针所指向的节点开始遍历。问题描述本题C链表结构体定义如下 struct lis{ int v; struct lis* next; }; typedef struct lis* Lis; 要求实现函数 int sum(Lis head)//返回以head为头指针(本身不存值)的链表各个结点值的和输入 一个数n代表链表的长度 接下来n个数ai代表每个节点的内容n与ai范围[1,100]输出一行和样例样例输入 Copy 3 1 2 3 样例输出 Copy 6下面是一个实现题目要求的 C 语言函数sum的代码int sum(Lis head) { int sum 0; Lis curr head-next; while (curr ! NULL) { sum curr-v; curr curr-next; } return sum; }该函数计算以参数head所指向的链表头结点为头节点的链表中各个结点值的和并将结果作为返回值返回。其中参数head是一个指向链表头节点的指针链表的每个节点由结构体lis表示其中v成员变量存储该节点的值next成员变量存储指向下一个节点的指针。在代码中我们首先将变量sum初始化为 0然后从链表的第二个节点开始遍历整个链表。遍历过程中对于每个节点我们将其值加到sum中然后继续遍历下一个节点。当遍历到链表尾部时我们退出循环并返回sum。需要注意的是在链表中头结点本身不存储任何实际数据仅用于标记链表的起始位置。因此我们在遍历链表时应从头结点的next指针所指向的节点开始遍历。

相关新闻

【小白入门】Web 安全:吃透 OWASP Top10,搞懂主流常见漏洞

【小白入门】Web 安全:吃透 OWASP Top10,搞懂主流常见漏洞

【小白入门】Web 安全:吃透 OWASP Top10,搞懂主流常见漏洞 解构 Web 安全威胁图谱:从 OWASP Top 10 到典型攻击,筑牢数字防线 在 Web 应用成为业务核心载体的今天,安全漏洞已成为威胁数据隐私、业务稳定的 “隐形炸弹…

2026/9/14 7:44:24 阅读更多 →
[Java]-Redis面试题

[Java]-Redis面试题

开篇redis常见的面试题使用问题Redis的使用场景根据自己简历上的业务进行回答主要场景1, 作为缓存中间件使用:穿透、击穿、雪崩、双写一致、持久化、数据过期、淘汰策略主要场景2, 作为分布式锁使用setnx、redisson什么是缓存穿透,怎么解决正常的缓存流程:一个请求进…

2026/9/15 19:09:48 阅读更多 →
STM32单片机智能储物柜快递柜无线APP快递员169-21(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

STM32单片机智能储物柜快递柜无线APP快递员169-21(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

STM32单片机智能储物柜快递柜无线APP快递员169-21(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ 演示视频(复制到浏览器打开): https://www.bilibili.com/video/BV1kf4y1T7K4/ 产品功能描述: 本…

2026/9/13 12:52:55 阅读更多 →

最新新闻

手机总是提示内存不足?256G空间被谁吃掉的?一次讲透

手机总是提示内存不足?256G空间被谁吃掉的?一次讲透

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 2:49:09 阅读更多 →
Unity悬疑推理游戏开发实践:从渲染优化到数据驱动的技术复盘

Unity悬疑推理游戏开发实践:从渲染优化到数据驱动的技术复盘

先说结论:这是一款以剧情驱动为核心、目标平台包含移动端和PC的悬疑推理游戏,开发周期约14个月。我作为主程,除了引擎架构、渲染表现、性能优化和工具链搭建之外,还要负责把策划脑洞大开的推理玩法翻译成Unity里可落地的技术方案。…

2026/9/16 2:49:09 阅读更多 →
高通平台Camera Open全链路解析:从HAL到Kernel的调用流程与调试技巧

高通平台Camera Open全链路解析:从HAL到Kernel的调用流程与调试技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 2:49:09 阅读更多 →
磁盘空间告警排查:df/du对不上、inode耗尽等7个深坑复盘

磁盘空间告警排查:df/du对不上、inode耗尽等7个深坑复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 2:49:09 阅读更多 →
鸿蒙版微信实测:高清低码通话与拍摄输入成独家亮点

鸿蒙版微信实测:高清低码通话与拍摄输入成独家亮点

你有没有发现,身边用鸿蒙手机的人越来越多了,但很多人拿到手机后的第一件事,反而是去应用市场搜“微信能不能装”。搜完之后有人惊喜:不仅能用,而且有些功能连安卓、iPhone上都没有。作为从Mate 40用到Mate 70、中间还…

2026/9/16 2:49:09 阅读更多 →
TMS320VC5509 UART+DMA1 零拷贝接收实战指南

TMS320VC5509 UART+DMA1 零拷贝接收实战指南

简介:本资源是一份面向嵌入式初学者的TMS320VC5509 DSP DMA传输实践入门材料,聚焦UART通信场景下的DMA机制理解与基础编程实现,解决初学者在DSP外设数据搬运中CPU负载高、传输效率低的典型问题。压缩包共2个文件(1个C源码文件1个说…

2026/9/16 2:48:08 阅读更多 →

日新闻

嵌入式三大高薪赛道:车规功能安全、RISC-V固件架构、边缘AI部署

嵌入式三大高薪赛道:车规功能安全、RISC-V固件架构、边缘AI部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 0:00:51 阅读更多 →
IoT-For-Beginners 智能语音计时器:Wio Terminal 基于 DMAC 与 Flash 的音频采集实战

IoT-For-Beginners 智能语音计时器:Wio Terminal 基于 DMAC 与 Flash 的音频采集实战

IoT-For-Beginners 智能语音计时器:Wio Terminal 基于 DMAC 与 Flash 的音频采集实战 【免费下载链接】IoT-For-Beginners 12 Weeks, 24 Lessons, IoT for All! 项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners 本指南聚焦 GitHub Tren…

2026/9/16 0:01:52 阅读更多 →
基于MATLAB的CRI显色指数计算:从SPD光谱到Ra的完整流程

基于MATLAB的CRI显色指数计算:从SPD光谱到Ra的完整流程

简介:针对照明设计与光学研究中的光谱功率分布(SPD)与显色性指数(CRI)计算需求,这套MATLAB程序为照明工程师、LED研发人员及光学专业学生提供了轻量工具。代码通过解析光谱测量数据,自动完成波长…

2026/9/16 0:01:52 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/15 12:27:42 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/16 1:59:46 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/16 1:59:35 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/15 21:40:00 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/15 21:40:17 阅读更多 →