C语言学习错题集(五)

1.最大公倍数的求法(gcd已知)
2.报数
3.字符串最后必须有’\0’!!!
4.例题
5.例题
6.例题

1.最大公倍数的求法(gcd已知)

int lcm=gcd*(a/gcd)*(b/gcd);

2.报数
报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。

本题要求编写函数,给出每个人的退出顺序编号。

函数接口定义:

void CountOff( int n, int m, int out[] );

其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。函数CountOff将每个人的退出顺序编号存在数组out[]中。因为C语言数组下标是从0开始的,所以第i个位置上的人是第out[i-1]个退出的。
鄙人思路:做一个n次的循环来给每一个人编号(按照退出顺序从1~n),每次循环里用一个m次的循环来跳到下一个编号的人那里(因为中间如果有人已经被编过号,那个人已经退出了,不算在内。所以要跳过他。所以我觉得只能用m个循环+1+1+1……来判断中间已经被编过号的人,而不能直接加m)每次判断,如果这个人被编过号跳到下一个;如果超过了第n个人回到开头。

void CountOff( int n, int m, int out[] )
{int a=0,b=1;for(int i=0;i<n;i++){for(int j=0;j<m;j++){a++;if(a>n)a-=n;while(out[a-1]!=0){a++;if(a>n)a-=n;}}out[a-1]=b;b++;}return;
}

对了,但是运行超时(循环里有循环里有循环里有判断,超麻烦)

4.(南京林业大学)将十进制数转换成十六进制数并输出。
这道题里面的亮点不少,就在代码中加注释说明。

#include<stdio.h>
#include<string.h>
int main()
{int n;//n是待转换的数字char *table="0123456789abcdef";char result[9];int i=7;result[8]='\0';//字符串结束符if(n>=0){memset(result,'0',8);//memset函数将一段内存空间全部设置成某个字符do{result[i--]=table[n%16];}while(n=n/16);//这样写,当n=0时循环停止}else{int j;memset(result,'f',8);for(j=0;j<8;j++){result[i--]=table[n & 0x0f];//未知,好像是取后4位n>>=4;}}printf("0x%s\n",result);//未知
}

5.下面语句的输出结果是?

long a=0xffff;
int b=a;
输出b

因为long 占4个字节,而int 占2个字节,
b在内存中的二进制码是0000 0000 0000 0000 1111 1111 1111 1111
传递给a时,高于16位被自动截断:1111 1111 1111 1111
再转换为十进制:-1

6.输出结果是?

int x;
printf("%d",(x=4*5,x*5),x+25);

按理说printf()中格式符%d的数量少于后面表达式的数量,应该输出第一个式子的值,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/39361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工程项目管理系统源码+功能清单+项目模块+spring cloud +spring boot em

​ 工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

代码保护 code protection

为什么要做代码保护&#xff1f; 为了保护知识产权并让攻击者的利用更加困难&#xff0c;组织应该为其软件的逆向工程设置障碍(例如&#xff0c;反篡改、调试保护、反盗版特性、运行时完整性)&#xff0c;增加攻击者分析和利用你的软件所需的投入。代码保护对于广泛分布的代码…

Markdown使用笔记

Markdown使用笔记 一、段落与强调 important denotes the impossible thing to do Because your ugly appearance, you cannot have a happy ending. 使用*括起来的为斜体 使用**括起来的是粗体 使用~~括起来的是删除线 在句子后面添加<br>即可换行 二、标题 在…

常见期权策略类型有哪些?

这几天在做一个期权策略类型的整理分类&#xff0c;怎么解释期权策略&#xff0c;期权策略是现代金融市场中运用非常广泛、变化非常丰富、结构非常精妙的金融衍生产品&#xff1b;同时也是一种更为复杂也更为灵活的投资工具&#xff0c;下文介绍常见期权策略类型有哪些&#xf…

iptables安全技术和防火墙

通信五元素 源ip和目标ip 源端口和目标端口 协议 通信四元素 源ip和目标ip 源端口和目标端口 iptables表链结构 Netfilter Linux防火墙是由Netfilter组件提供的&#xff0c;Netfilter工作在内核空间&#xff0c;集成在linux内核中 Netfilter是Linux 2.4.x之后新一代的Li…

CI/CD流水线实战

不知道为什么&#xff0c;现在什么技术都想学&#xff0c;因为我觉得我遇到了技术的壁垒&#xff0c;大的项目接触不到&#xff0c;做的项目一个字辣*。所以&#xff0c;整个人心浮气躁&#xff0c;我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末&#xff0c;我再次宅在…

k8s问题汇总

作者前言 本文章为记录使用k8s遇到的问题和解决方法&#xff0c;文章持续更新中… 目录 作者前言正常配置ingress&#xff0c;但是访问错误添加工作节点报错安装k8s报错使用kubectl命令报错container没有运行安装会出现kubelet异常&#xff0c;无法识别删除k8s集群访问dashboa…

Docker安装RabbitMQ单机版

Docker安装RabbitMQ单机版 先安装Docker服务&#xff0c;可参考安装Docker及学习 编写rabbitmq-composefile.yml文件 这里以rabbitmq 3.11.16 版本为例 cat << \EOF > /opt/rabbitmq-composefile.yml version: 3 services:rabbitmq:image: rabbitmq:3.10.0-managem…

【Apollo】推动创新:探索阿波罗自动驾驶的进步(含安装 Apollo的详细教程)

前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台&#xff0c;将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…

【密码学】维京密码

维京密码 瑞典罗特布鲁纳巨石上的图案看起来毫无意义&#xff0c;但是它确实是一种维京密码。如果我们注意到每组图案中长笔画和短笔画的数量&#xff0c;将得到一组数字2、4、2、3、3、5、2、3、3、6、3、5。组合配对得到24、23、35、23、36、35。现在考虑如图1.4所示的内容&a…

【变形金刚03】使用 Pytorch 开始构建transformer

一、说明 在本教程中&#xff0c;我们将使用 PyTorch 从头开始构建一个基本的转换器模型。Vaswani等人在论文“注意力是你所需要的一切”中引入的Transformer模型是一种深度学习架构&#xff0c;专为序列到序列任务而设计&#xff0c;例如机器翻译和文本摘要。它基于自我注意机…

iOS Epub阅读器改造记录

六个月前在这个YHEpubDemo阅读器的基础上做了一些优化&#xff0c;这里做一下记录。 1.首行缩进修复 由于分页的存在&#xff0c;新的一页的首行可能是新的一行&#xff0c;则应该缩进&#xff1b;也可能是前面一页段落的延续&#xff0c;这时候不应该缩进。YHEpubDemo基于XDS…

pycharm,VSCode 几个好用的插件

pycharm Tabnine AI Code 可以在编写程序的时候为你提供一些快捷方式&#xff0c;增加编程速度 Chinese 对英文不好的程序员来说是个不错的选择&#xff0c;可以将英文状态下的pycharm变为中文版的 ChatGPT 可以跟ai聊天&#xff0c;ai可以解决你80%的问题 &#xff0c;也可以帮…

变形金刚:从零开始【01/2】

一、说明 在我们的日常生活中&#xff0c;无论你是否是数据科学家&#xff0c;你都在单向地使用变压器模型。例如。如果您使用的是 ChatGPT 或 GPT-4 或任何 GPT&#xff0c;那么在为您回答问题的框中是变压器的一部分。如果您是数据科学家或数据分析师&#xff0c;则可能正在使…

【BASH】回顾与知识点梳理(二十九)

【BASH】回顾与知识点梳理 二十九 二十九. 进程和工作管理29.1 什么是进程 (process)进程与程序 (process & program)子进程与父进程&#xff1a;fork and exec&#xff1a;进程呼叫的流程系统或网络服务&#xff1a;常驻在内存的进程 29.2 Linux 的多人多任务环境多人环境…

SAP MM学习笔记23-购买发注的账户分配类型(勘定Category)

SAP中控制财务凭证过账科目的是 账号分配类型&#xff08;勘定Category&#xff09;栏目。 ・账号分配类型&#xff08;勘定Category&#xff09;有&#xff1a; 1&#xff0c;K 原价Center&#xff08;成本中心。用于消耗物料采购 的过账&#xff09; 2&#xff0c;E 得意先…

【云原生之Docker实战】使用Docker部署Syncthing同步程序及基本使用

【云原生之Docker实战】使用Docker部署Syncthing同步程序及基本使用 一、Syncthing介绍1.1 Syncthing简介1.2 Syncthing特点1.3 备份和同步区别二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker comp…

LabVIEW对并行机器人结构进行建模仿真

LabVIEW对并行机器人结构进行建模仿真 为了对复杂机器人结构的数学模型进行建模、搜索、动画和验证&#xff0c;在工业机器人动态行为实验室中&#xff0c;设计并实现了具有五个自由度的单臂型机器人。在研究台上可以区分以下元素&#xff1a;带有直流电机和编码器的机器人;稳…

nvm管理node版本

nvm是什么&#xff1f; NVM全名叫做 nodejs version manage,即Node的版本管理工具。 使用NVM&#xff0c;可以通过命令很方便地在多个NodeJS版本之间进行切换。 nvm的下载与安装 下载地址&#xff1a;Releases coreybutler/nvm-windows (github.com) windows系统下载nvm-setup…

Arcgis中直接通过sde更新sqlserver空间数据库失败

问题 背景 不知道有没有人经历过这样一个情况,我们直接在Arcgis中通过sde更新serserver数据库会失败,就是虽然在sde更新sqlserver数据库,但是在Navicat中通过sql语句来查询,发现数据并没有更新,如:上图中,更新数据库后,第一张图是sde打开的sqlserver数据库,它的数据库…