2022年C语言程序课程设计备选题目.docx
《2022年C语言程序课程设计备选题目.docx》由会员分享,可在线阅读,更多相关《2022年C语言程序课程设计备选题目.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源封面欢迎下载精品学习资源作者: PanHongliang仅供个人学习说明:1 题目来源是:( 1)较重要 C 语言程序设计教科书中的例题或习题;(2)与运算机学科相关的后续课程,如数据结构、离散数学、组合数学、运算方法等课程教科书中的例题或习题中,不需要相关后续课程的特地学问就可以很好解答的题目;其它有影响运算机程序设计类书籍或文章中的例题;(3)各级各类运算机程序设计竞赛(例如ACM 大赛)、程序员考试、求职面试的训练题和考试卷等 .欢迎老师和同学们供应更好的题目 .欢迎下载精品学习资源2 题目内容涉及的学问点不超过高校一年级的学问水平,主要目标是训练同学将实际问题转化为运算机可
2、以处理的形式并编写程序给出解答的才能.去掉了较复杂事务治理如图书治理、同学成果治理之类的题目,这类事务治理方面题目期望在后续课程如 C+面对对象程序设计、数据库应用及各专业的课程设计中进行.3 题目有多种完全不同的解答,给出的提示主要供指导老师参考.题目 1:文件存取练习:要求实现如下功能:( 1)定义函数 Rand1000, 随机生成 1000 个均不相同的正整数,并写入到文本文件“ file1.dat ” 中,各数之间用空格来分隔.( 2)编写一个函数input ( int a,int n),将上述数据读入到数组 a 中.( 3)编写一个函数 digitcountint a,int n,i
3、nt b10, 统计数组 a 的每个元素储存的整数中,每位数字显现的次数,并分别储存在 b0 到 b9 中.(4)编写函数 maxprimeint *p,int n, 找出其中最大的素数,假如不存在素数函数结果为0.(5) 对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,假如有多组中意条件要输出全部的.( 6)定义函数 myinputint a,int n,用 fgetc 函数从文件“ file1.dat”上逐个读入字符,并将其转换成独立的正整数 ,并依次存入数组 a中.提示:可查阅任何一本C 语言程序设计教科书中关于文件部分,例如谭浩强, C 程序设计(第三版),第 13
4、章.仍需要熟识随机数生成函数 rand(),需要编写判定一个奇整数是否素数的程序等 .部分可供参考程序如下:题目 2:两个文件同时对比显示:程序从两个文件中读出文本行,并列显示在屏幕上 .假定屏幕有80 列, 25 行,就第 034 列显示第一个文件的内容,第4074 列显示其次个,第 77-78 行显示文本总的行序号 .每屏显示 20 行,超过20 行就显示在下一屏 .程序应当能够以这种方式显示任意的两个文本文件,例如两个 C 程序源代码文件,两篇内容类似的文章形成的两个文本文件等.提示:先把两个文本文件读入,存入数组,再考虑显示的支配.题目 3:实现一个 C 语言程序设计自助学习系统 ,
5、要求实现的基本功能如下: 1、测验(1) )可以按固定的试卷数目,从题库中随机选取题目进行测试,如每次测试 5 道题或 10 道题.(2) )每次只显示一道题,包括问题描述、备选答案;(3) 依据同学答题结果,对比试卷答案,显示答题对错的信息;(4) 答题全部终止后给出本次测试的成果,按百分制评分. 2、学习治理( 1)通过题目浏览,自我测验,查看题解的过程来帮忙同学学习.(2) 需要为同学供应多种学习方式,至少应包括次序选题学习和随机选题学习等方式 .(3) 假如是接受次序选题方式学习,需要做到可以从中间某个位置开头学习,不是每次确定从第一题开头学习 .3、题库治理欢迎下载精品学习资源( 1
6、)试卷库中储存全部试卷及其相关信息.(2) 将要入库的试卷,按固定格式编辑整理好储存在ASCII 文件中,通过运算机程序读取该文件,并将文件中的全部试卷添加到已有的试卷库中.(3) 今后需要对于全部试卷分类进行治理,在库结构设计时,要考虑这些扩展功能的数据接口要求 .(4) 试卷库初始化,将试卷库内容全部清空,便于重新建立系统.提示:可以参考:余江,肖淑芬主编,C 语言程序设计,天津科学技术出版社, 2001 年 5 月, 273-313 页.题目 4:实现题目 3 中 C 语言程序设计自助学习系统得升级版,可考虑实现功能:一、测验1、系统自动组卷(1) )试卷结构说明:以题库供应的试卷类别和
7、各类试卷的数量为依据来实现.系统组卷前需要获得的信息是对于每类试卷要含有类别名称、试卷数、分数, 全部类别的分数累加在一起要恰好是100 分.(2) )试卷储存:将上述组卷结果储存在二进制文件中,文件名由用户输入.(3) )个性化组卷:输入学号后,系统依据试卷结构说明的规定自动组卷,做到每个同学试卷不同 .2、错题本功能(1) )答错的题目自动加入到错题本中;(2) )可以对错题本中的题目逐题测验,不分题目类别;(3) )可以制定分类测试 . 3、多科目测试二、学习治理1、分类别学习2、错题本内容学习3、多科目学习,选择科目后可以进行指定类别的分类别学习和错题本内容学习.三、题库治理1、入库试
8、卷文件格式正确性检查.包括:试卷的描述的合法性检查,类别信息合法性检查,给出出错位置的信息 .2、对于分类试卷储备方式的优化,例如:同类试卷连续储备的实现;3、目前完成的是单科目多类别的题库治理,要实现多科目多类别的题库治理.四、用户治理1、系统注册2、登录3、错题本等个性化信息治理4、屏幕背景颜色和字符颜色的设置5、学习位置的记载,要按科目记载,每个科目要按类别记载.欢迎下载精品学习资源提示:鼓励使用更多方法实现,例如使用数据库系统,VC+等.题目 5:给出一个正整数 n,一个存放 1 到 n 共 n 个正整数的数字金字塔构造如下:( 1)1 在最上方第 0 层;( 2)假如 x 大于 y
9、并且 x 除以 y 的余数为 0(即xy &x%y = = 0), x 要放在 y 下方一层(即如 y 在第 i 层, x 应在 i+1 层);( 3)每个数应尽可能放在更下方,即假如可以放在第i 层,就不能放在i-1 层;( 4)相同层上的数从左向右从小到大排列 .其实第 i 层是有 i 个素数因子的数的从小到大的排列 .例如对 n=6,符合这组规章的数字金字塔如下:12 3 546每个数依据它在塔中的位置从上到下从左到右从 1 开头编号,例如 5,编号应当是 4.要求你编写程序,输入一个正整数 n,5n3-6, 5, c=2,表示移动是 1 到 3,3 到 6,由于 1+3=4, 3+6=
10、9,而 4 和 9 是完全平方数,符合条件的移动只有这两次. 移动结果是仍有2 根柱子上有圆盘,即 c=2,有圆盘的一根柱子上圆盘3 个, 有数 1-3-6,有圆盘另一根柱子上圆盘一个,有数5,它其实没有发生移动 .程序编写完成后,要求给出你的程序对以下两组输入的结果:( 1) 9, 1, 2, 3,4,5,6, 7,8,9(2)10,1,3,5,7,9,11,13,15, 17,19(此题为 2021 年 ACM 大赛题目 .)提示:输入: 9 , 1 , 2, 3, 4 , 5 , 6 , 7, 8 , 9 输出: 1-3-6, 2-7-9,4-5,8,c=4输入: 10, 1, 3 ,
11、5 , 7 , 9 , 11, 13 , 15 , 17,19 输出: 1-3-13, 5-11,7-9,15,17-19,c=5题目 7:我们知道,在 10 进制数中有判定整除性的二个简洁规章:一个正整数能够被 3 整除,当且仅当,它的各位数字之和能够被3 整除;一个正整数能够被 11 整除,当且仅当,它的奇数位数字之和与偶数位数字之和的差能够被11整除;现在要问:对于 b 进制数,具有类似于 10 进制数的 3 和 11 的这种整除性判定的数是什么?具体地,请编写程序,输入进制的基数b,输出最小的可欢迎下载精品学习资源以如上判定整除性的数 x 和 y.为确定,输入输出均接受 10 进制数.
12、例如输入 b 为10,就自然要输出 x 为 3, y 为 11;如输入 b 为 8,就要输出 x 为 7,y 为 3(例如 8 进制数 25,按上述规章判定应能够被 7 和 3 整除,事实上, 8 进制数 25 是10 进制数 21,能够被 7 和 3 整除是明显的);如输入 b 为 120,就要输出 x 为7,y 为 11(请自己验证这是对的) .(此题为 2021 年 ACM 大赛题目 .)提示:对于 10 进制数, 10-1=9=3*3 , 10+1=11, 10 进制数 n 可以一般地表示为:n = ak10k + ak-110k-1 + + a110 + a0保持 n 不转变数值将
13、10 换为 10 1 和 10+1,可以看出 3 和 11 可以如上判定整除性的理由 .对于 b 进制数,n = akbk + ak-1 bk-1 + + a1b + a0可以想到只需考虑 b 1 和 b+1 的最小因子 .题目 8:假如语文数学两门课程的成果,甲同学分别是80 分和 90 分,乙同学是 90 分和 80 分,丙同学是 70 和 60 分,这时比较甲同学和乙同学的成果,只能说语文较差,数学较好,综合到一起就属于无法比较,但对丙同学可以比较,可以说甲和乙同学的成果都比丙同学好.一般情形,设有一个三元向量的集 合,如其中有向量 P=p1, p2, p3, Q=q1, q2, q3,
14、 规定 PQ 当且仅当 p1q1, p2 q2,p 3 q3 .其中一个向量称为是一个微小元素,当且仅当它只 它自己. 例如如下三个三元向量组成了向量组(80, 90,100),( 90, 80, 70),( 60, 70,60),其中只有一个最小元素,是( 60, 70,60) . 请编写程序,输入 n 个三元向量,输出其中最小元素的数目 . (此题为 2021 年 ACM 大赛题目 .)提示:先对第一个坐标排序,再考虑其次个坐标,第三个坐标.题目 9:在某城市有 n 座摩天大楼,问那二座之间的距离最小?设可以输入全部大楼的位置坐标,请编写程序输出距离最近的二座大楼及它们之间的距离.两点x1
15、, y1 和 x2, y2 之间的距离 d 依据两种不同方式规定:( 1) Euclid 距离d =(2)Manhattan 距离 d = | x1 x2 | + | y1y2 |.明显的解法是运算全部点对之间的距离再找出最小值,但此题只要求输出距离最近的二点及之间距离,所以应当给出不运算全部点对之间距离的更有效率的解法(此题为 2021 年 ACM 大赛题目) .(可查阅: 沙特 M.H.Alsuwaiyel 著,吴伟昶等译,算法设计技巧与分析, 电子工业出版社, 2004 年 8 月, 第 121-124 页 . 或者: 美 Michael T.Goodrich 等著,霍红卫译,算法分析与
16、设计,人民邮电出版社, 2006 年 10 月,第 385-387 页.)提示:找到两点距离 d 后,接下去可检查宽不超过 d 的长条.题目 10:一条贪吃的蛇在一个 n*m 的网格中游走,它只能从一个方格走向另一个相邻的方格,这里相邻的意思是两个方格有公共边.每个方格可以看作是一个房间,其中一些是空的,一些存放有苹果.贪吃的蛇根本不进入空的房间,而进入有苹果的房间后就可以带走全部苹果使房间成为空的.蛇从一个指定的房间动身,最终回到它的家,把一路带来的苹果储备到家中,当然,它期望带来的苹欢迎下载精品学习资源果最多.请编写程序,输入有整数 n 和 m,及 n*m 的一个矩阵,矩阵元素数值中有一个
17、是 -1,表示蛇的动身位置,有一个是 -2,表示蛇的家的位置,其余数值是非负整数, 0 表示房间为空,非零整数表示苹果的数目 .输出蛇选择的游走路径和获得的最多的苹果数目 .例如输入 4*4 矩阵:704 184011157 11-10 12 -20就应输出 2, 3, 1, 3, 0, 3, 0, 2, 1, 2, 2, 2, 2, 1, 3, 1, 3, 2, 带回苹果数为1+18+4+1+11+7+12 = 54.(此题为 2021 年 ACM 大赛题目) .(可查阅:吕国英,任瑞征等编著,算法设计与分析(第2 版),清华高校出版社, 2021 年 1 月,第 200-202 页.提示:
18、这是一个利用回溯算法的迷宫搜寻类型问题,可参考类似问题的已有解法.题目 11:化学家争论原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,确定值不超过100.可以认为原子排列成为一行,一行中任意多个连续的原子可以形成原子团,原子团的能量是其中各原子能量的代数和.问题是怎样编写程序,求出具有最大能量的原子团和能量数值.要求程序输入一列原子的能量数值,以 -1 终止,输出找到的能量最大的原子团及能量数值. 例如输入 8, 0,6, 4, -2,-1,应输出原子团8,0, 6, 4,及能量数值 18.(此题为 2021 年 ACM 大赛题目) 可查阅:吕国英,任瑞征等编著,算法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 程序 课程设计 备选 题目
限制150内