论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
Oracle
›
【时时三省】(C语言基础)数组习题
【时时三省】(C语言基础)数组习题
张国伟
论坛元老
|
2025-5-22 17:25:11
|
显示全部楼层
|
阅读模式
楼主
主题
1703
|
帖子
1703
|
积分
5109
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省
习题1:
用筛选法求100之内的素数。
解题思路:
1. 初始化标志数组:创建一个巨细为101(由于要判断1 - 100这100个数,下标从0 - 100 )的整型数组 isPrime ,将数组中所有元素初始化为1 。这里 isPrime
的值为1表示假设数i是素数,为0表示不是素数。同时,明确0和1不是素数,将 isPrime[0] 和 isPrime[1] 置为0 。
2. 筛选非素数:从2开始遍历到\sqrt{100}(也就是10 ) 。对于当前遍历到的数i,如果 isPrime
为1(说明i目前被认为是素数),那么就从i \times i开始,以i为步长,将后续的数(即i的倍数)在 isPrime 数组中对应的元素置为0 ,由于这些数是合数不是素数。例如,当i = 2时,把4、6、8等都标志为非素数;当i = 3时,把9、12等标志为非素数。
3. 输出素数:遍历 isPrime 数组,从下标2到100 ,如果 isPrime
的值为1,就说明数i是素数,将其输出。
编写步伐:
运行结果 :
习题2:
用选择法对10个整数排序。
解题思路:
选择排序(Selection Sort)的根本思想是:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。具体步调如下:
1. 设数组为 arr[10] ,外循环控制排序趟数,从第0个元素到第8个元素,共进行9趟排序( for(i = 0; i < 9; i++) ) 。由于每进行一趟排序就确定一个元素的最终位置,颠末9趟就能将10个元素排好序。
2. 对于每一趟排序(假设第 i 趟),先假定第 i 个元素是最小的,记录其下标 min_index = i 。
3. 内循环从 i + 1 到第9个元素遍历( for(j = i + 1; j < 10; j++) ),在这个过程中探求比当前假定最小元素更小的元素,如果找到,更新最小元素的下标 min_index = j 。
4. 内循环结束后,将找到的最小元素(下标为 min_index )与第 i 个元素交换位置,如许第 i 个位置就放置了当前这一趟排序中最小的元素。
编写步伐:
运行结果:
习题3:
求一个3×3的整型矩阵对角线元素之和。
解题思路:
对于一个3\times3的整型矩阵,其对角线分为主对角线(从左上角到右下角)和副对角线(从右上角到左下角)。要求对角线元素之和,必要分别遍历主对角线和副对角线元素并累加。主对角线元素的行下标和列下标相称(即 arr
, i 从0到2 );副对角线元素的行下标和列下标之和为矩阵阶数减1(即 arr
[2 - i] , i 从0到2 ) 。然后将主对角线元素和与副对角线元素和相加,得到最闭幕果。
编写步伐:
运行结果:
习题4:
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
解题思路:
1. 输入与预备:首先定义一个已排好序的数组(假设为升序),以及要插入的数。这里必要明确数组的长度,方便后续操作。
2. 查找插入位置:通过遍历已排序数组,从数组开头开始比较要插入的数和数组元素。当找到第一个大于等于要插入数的元素时,该位置就是要插入数的位置。
3. 移动元素:确定插入位置后,从数组末端开始,将插入位置及之后的元素依次向后移动一位,为插入新数腾出位置。
4. 插入新数:将新数放入确定好的插入位置。
编写步伐:
运行结果:
习题5:
将一个数组中的值按逆序重新存放。例如,原来次序为8,6,5,4,1。要求改为1,4,5,6,8。
解题思路:
对于将数组中的值按逆序重新存放,焦点思路是通过首尾元素交换的方式来实现。可以设置两个指针(或下标),一个指向数组开头,一个指向数组末端,然后交换这两个位置的元素,接着让指向开头的指针后移一位,指向末端的指针前移一位,重复交换操作,直到两个指针相遇(数组元素个数为奇数时)或者交叉(数组元素个数为偶数时)。
编写步伐:
运行结果:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
张国伟
论坛元老
这个人很懒什么都没写!
楼主热帖
XAF新手入门 - 类型子系统(Types Info ...
MyBatis 查询数据库
JAVA 装箱拆箱--到底指什么呢? ...
[NOI2010] 航空管制
RabbitMQ入门 -- 阿里云服务器安装Rabb ...
HarmonyOS(鸿蒙)开发一文入门 ...
ThinkPHP5 远程命令执行漏洞
基于 Dubbo Admin 实现同机房/区域优先 ...
浅入浅出 1.7和1.8的 HashMap
Prometheus配置Basic Auth进行安全防护 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表