【C语言】编程题专项练习+答案

news2024/11/25 0:55:27

目录

1.删除有序数组中重复的数

2.用除二取余的方法,把任意一个十进制正数的二进制序列输出(不考虑溢出)

2.1如果是把任意一个十进制整数的二进制序列输出呢?

3.输出一个六行六列的整形矩阵,并输出其转置矩阵。矩阵中的元素的十位数是行数,个位数是列数,比如第一行第六列的元素是16

4.编写程序把4位16进制数转换为短整型(short类型)

5.分割字符串

6.二代身份证

7.绝对素数

8.输入一个十进制数N,把他转化成R进制数输出(R是11到16之间的整数),比如R=16,输入90,输出就是5A

9.输入某年某月某日,判断这一天是那年的第几天,并输出本年还剩下多少天。

10.合并文件内容

11.检查字符串str2是否为str1的子串

12.输入10个1~100范围内的整数,删除其中1~50的数,并输出一个新数组。

13.在一个文件A.txt中取出一个矩阵,然后转置后写入到另一个文件B.txt中

14.输入年月日,输出这是今年第几天

15.能否构成三角形

16.把一个二维数组每行的最小值构成一个新的数组输出


1.删除有序数组中重复的数

2.用除二取余的方法,把任意一个十进制正数的二进制序列输出(不考虑溢出)

2.1如果是把任意一个十进制整数的二进制序列输出呢?

3.输出一个六行六列的整形矩阵,并输出其转置矩阵。矩阵中的元素的十位数是行数,个位数是列数,比如第一行第六列的元素是16

4.编写程序把4位16进制数转换为短整型(short类型)

比如FFF8=>-8,过程如下

//FFF8:4位16进制数

//1111 1111 1111 1000:二进制补码

//1000 0000 0000 0111:二进制反码

//1000 0000 0000 1000:二进制原码

法一:考查scanf和printf的占位符写法

法2:库函数法

strtol 是 C 语言标准库中的一个函数,用于将字符串转换成长整型数(long int)。这个函数定义在头文件 中。strtol 的名字是 "string to long" 的缩写,表示其功能是将一个字符串转化为一个长整型数值。

strtol 函数的原型如下:

long int strtol(const char *str, char **endptr, int base);

这个函数接受三个参数:

  • const char *str:一个指向要进行转换的以 null 结尾的 C 字符串的指针。
  • char **endptr:一个引用指针,用于存储转换后剩余部分字符串的地址。如果不需要这个值,可以传递 NULL。
  • int base:转换所采用的数制的基数,它必须在 2 和 36 之间,或者是特殊值 0。对于十进制数,这个值应该是 10;对于十六进制数,应该是 16 等等。如果 base 设置为 0,则会根据字符串格式自动推断基数(例如,以 "0x" 或 "0X" 开头的字符串会被识别为十六进制,以 "0" 开头为八进制,其余为十进制)。

此函数会读取 str,然后根据 base 的值将读取到的内容转换为一个长整型值。转换会忽略任何前导的空白字符(如空格),直到遇到第一个非有效字符或字符串末尾。如果 endptr 不是 NULL,函数还会设置 endptr 指向字符串中未进行转换的第一个字符。

对于类似的任务,比如将字符串转换成 int,可以使用 atoi或者 strtol 函数后再进行类型转换。然而如果字符串表示的数值可能超出 int 类型的范围,最好直接使用 strtol 然后检查返回值是否在 int 的范围之内。

请注意,strtol 能处理的最大数值为 LONG_MAX,最小数值为 LONG_MIN,这些极值定义在头文件 中。若字符串转换的结果超出了 long int 类型能表示的范围,则会发生溢出,并且函数将返回 LONG_MAX 或 LONG_MIN,同时设置 errno 为 ERANGE。

法3:不使用库函数strtol

5.分割字符串

编写toArray函数,其函数原型为int toArray(char* st,char c,int arr[])将字符串str用c所指定的分隔符分割并转换为整型数之后存入整形数组arr,函数返回值是该数组元素个数

运行结果

6.二代身份证

2019

法一:使用库函数

法二:不使用库函数

7.绝对素数

编写代码用来判断一个正整数是否为绝对素数,绝对素数是指这个数本身是素数,他的反置数也是素数,比如37是素数,他的反置数73也是素数,那么这两个数就是绝对素数

如果题目说是让编写一个函数int is_absolute_Prime(int n),我们现在写了好几个函数,显然不复合要求,实际上我们只要在这个is_absolute_Prime()函数中调用我们写的那好几个函数就行。

8.输入一个十进制数N,把他转化成R进制数输出(R是11到16之间的整数),比如R=16,输入90,输出就是5A

法一:转换字符

这种方法应该注意的是当我们拿到一个大于等于10的数时候,我们应该转化成A~F,在上面的代码中我们是要把数字字符转化成字符A~F,因此应该判断当前数字字符是否大于字符10,但是判断条件不能写>='10'而应该写成>'9',这是因为在C语言中'10'会被认为是一个多字符常量,他的ASCII码值并不是‘9’的ASCII码值+1,我们可以通过写一个代码打印他们两个的ASCII码来观察

发现这两个的ASCII码值相差了不是一点半点

因此在判断我们加上'0'之后的ch[i]是否大于'9'的时候就不能写成ch[i]>='10',应该写成ch[i]>'9',同时在转换成A~F的时候也不能直接写成ch[i]-'10'+'A',应该写成ch[i]-'0'-10+'A'。

法二:创建字符数组法

我没每次都是拿到的最低位,余数是几,那么这一位实际上就是几,比如我们拿到了余数5,实际上拿到的这一位就应该是5,打印的时候就要打印字符5,余数是10,就打印字符A。

9.输入某年某月某日,判断这一天是那年的第几天,并输出本年还剩下多少天。

例如输入2020 12 25,则输出是本年的第360天,今年还剩下6天

法一:

代码可以优化一下,让代码看起来更简洁

10.合并文件内容

有3个磁盘文件A.txt,B.txt,C.txt在同一路径下, A.txt,B.txt中各存放一行字母,要求把两个文件的信息合并,且按字母顺序排列好,然后输出到文件C.txt中去

11.检查字符串str2是否为str1的子串

检查字符串str2是否为str1的子串,如果是,返回子串在str1中的位置,如果不是,返回NULL

法一:库函数法

法二:不使用库函数,也即模拟实现strstr

12.输入10个1~100范围内的整数,删除其中1~50的数,并输出一个新数组。

13.在一个文件A.txt中取出一个矩阵,然后转置后写入到另一个文件B.txt中

14.输入年月日,输出这是今年第几天

另一种写法

实际上这道题的关键就在于讨论输入的天是否为闰年的二月之后。

15.能否构成三角形

输入三个整数作为三角形的三条边,看看能否构成三角形,如果能的话输出这个三角形的面积。

16.把一个二维数组每行的最小值构成一个新的数组输出

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

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

相关文章

保修期内经营者收取维修费用应遵循正当程序原则

↑↑↑“上海高院”头条号为您讲述精彩的法律科普内容 上海市第一中级人民法院在履行司法审判职能的同时,始终高度重视高质量案件工作,总结司法审判经验,努力提高司法审判质量。 在2020年全国法院系统优秀案例分析评选活动中,上海…

伟大音乐家的伟大不朽作品,贝多芬一生的音乐作品全集

一、音乐描述 贝多芬一生创作题材广泛,重要作品包括9部交响曲、1部歌剧、32首钢琴奏鸣曲、5首钢琴协奏曲、多首管弦乐序曲及小提琴、大提琴奏鸣曲等。因为其对古典音乐的重大贡献,以及对奏鸣曲式和交响曲套曲结构的发展和创新,而被后世尊称为…

【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗?

【Flutter 面试题】main()和runApp()函数在Flutter的作用分别是什么?有什么关系吗? 文章目录 写在前面解答补充说明 写在前面 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主&…

STM32CubeMX学习笔记11 ---RTC实时时钟

1、RTC实时时钟简介 STM32的实时时钟RTC是一个独立的定时器,RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能,修改计数器的值可以重新设置系统当前的时间和日期 RTC模块和时钟配置系统(RCC_B…

Python-Numpy-计算矩阵相乘

向量化矩阵计算公式: """ Title: matrix_calculating Time: 2024/3/6 Author: Michael Jie """import numpy as npw np.array([[1, 2]]) x np.array([[1, 1], [2, 3], [4, 5]]) b 1# w * x b print(w * x b) """…

msvcp120.dll丢失的解决方法,教你快速解决msvcp120.dll问题

msvcp120.dll是一个在Windows操作系统中至关重要的系统文件,它属于Microsoft Visual C Redistributable Package的一部分。这个动态链接库文件(DLL)包含了运行某些应用程序所必需的C运行时库函数。当某个程序在运行过程中需要调用这些预先编译…

限流算法(固定窗口、滑动窗口、漏桶算法、令牌桶算法)

固定窗口算法 计数器算法是使用计数器在周期内累加访问次数,当达到设定的限流值时,触发限流策略。下一个 周期开始时,进行清零,重新计数。 如下图所示,每个三秒的时间区间内,限定访问次数150次&#xff0c…

兰州做手机网站建设的8个注意点分享给大家

随着移动网络的日益发达,兰州移动网站建设已经成为移动互联网的热点,但很多用户对兰州移动网站制作仍然知之甚少。 今天小编总结了兰州手机网站建设的8个技巧,请关注,分享给大家。 1.根据用户需求分析网站 在兰州建设手机网站时…

FEP样品瓶透明聚四氟乙烯取样瓶

一、产品介绍 FEP试剂瓶,也叫FEP取样瓶、特氟龙样品瓶等,主要用于痕量分析、同位素检测,ICP-MS/OES/AAS分析等高端实验。本底值低,金属元素铅、铀含量小于0.01ppb,无溶出与析出。 常用尺寸(ml)&#xff1…

Stable Diffusion——Animate Diff一键AI图像转视频

前言 AnimateDiff 是一个实用框架,可以对文本生成图像模型进行动画处理,无需进行特定模型调整,即可为大多数现有的个性化文本转图像模型提供动画化能力。而Animatediff 已更新至 2.0 版本和3.0两个版本,相较于 1.0 版本&#xff…

电脑桌面悬浮窗便签哪个好?

在日常工作中,如何利用便签软件提高工作效率是许多人关心的问题之一。本文将介绍电脑桌面悬浮窗便签哪个好,让你的备忘录随时可见,提高工作效率。 电脑桌面悬浮窗便签是一种方便快捷的备忘录软件,它可以在电脑桌面上显示&#xf…

l从0开始学习NEON(2)

1、前言 继上一个例子,本次继续来学习NEON,本次学习NEON中向量拼接的操作,主要应用在图像的padding中。 https://blog.csdn.net/weixin_42108183/article/details/136440707 2、案例 2.1 案例1 在某些情况下,需要取在每个向量…

vue3页面内容切换(类似登录、注册内容切换)

一、内容描述 页面有俩块内容,分别是验证码登录页面内容,账号密码登录页面内容。有俩种处理方式,一个是写俩个页面跳转使用,还有一种是一个页面俩个内容,切换的只是不同的内容,相同的内容保留。一般都是选择…

14 程序地址空间

背景 kernel 2.6.32 32位平台 空间布局图 如何理解地址划分 地址划分,本质是调整地址空间的定义start和end,内存中定义了管理每个区域范围的结构体,叫mm_struct,每个进程都有一个这个结构体指针变量 验证上面划分的结构&#…

QCustomPlot 一个X轴多个Y轴

文章目录 大致效果如下: 相关代码如下: centerWidgetLayout->addLayout(hboxLayout,1);customplot new QCustomPlot(centerWidget);centerWidgetLayout->addWidget(customplot,100);int xPointNum 1300 ;customplot->plotLayout()->clear…

鸿蒙Harmony应用开发—ArkTS声明式开发(手势处理:绑定手势方法)

为组件绑定不同类型的手势事件,并设置事件的响应方法。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 绑定手势识别 通过如下属性给组件绑定手势识别,手势识别成功后可以通过事…

Docker容器数据卷使用

创建容器 将本地的/home/ceshi和容器的/home目录进行一个挂载,文件内容会进行同步 -v参数就是进行一个卷的挂载 主机路径:容器内的路径 [rootwq ~]# cd /home/ [rootwq home]# ll total 8 drwx------ 3 admin admin 4096 Dec 29 10:16 admin drwx------ 2 www www 4096…

如何使用DS file+cpolar内网穿透实现远程访问本地群晖NAS传输文件

文章目录 1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接 DS file 是一个由群晖公司开发的文件管理应用程序,主要用于浏览、访问和管理存储在群晖NAS(网络附加存储)中的文件。这个应用程序具有…

【C++】类和对象(中)一篇文章带你学会六大默认成员函数

目录 一、类的6个默认成员函数二、 构造函数2.1 概念2.2 特征 三、析构函数3.1 概念3.2 特性 四、拷贝构造函数4.1 概念4.2 特征 五、赋值运算符重载5.1 运算符重载5.2 赋值运算符重载5.3 前置和后置重载 六、日期类的实现七、const成员八、取地址及const取地址操作符重载结尾 …

新品发布会媒体邀请,邀约记者现场报道

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 新品发布会媒体邀请及记者现场报道邀约流程: 一、策划准备 明确新品发布会时间、地点和主题。 制定媒体邀请计划,确定目标媒体。 二、邀请媒体 向目标媒体发送…