苏州大学考研复试历年上机题目及答案

合集下载

2019苏州大学研究生复试上机题+答案

2019苏州大学研究生复试上机题+答案

请各位考生从考试信息发布网站下载数据文件data.txt,然后将这个数据文件手动保存在D 盘根目录中。

已知:数据文件data.txt是一个文本文件,其中存放了100个不超过32768的非负整数。

请编写程序完成如下功能:
(1)编写函数read_file从文件中读取数据,将所有的整数按照其在文件中出现的顺序依次
存储到数组arr中;
(2)编写函数print将数组arr显示在屏幕上,每行显示n个数,每个整数占6列;
(3)编写函数count统计数字0至9在数组arr所有整数中的出现次数,将结果放入数组res
中(即res[0]存储数字0的出现次数,res[1]存储数字1的出现次数,其余以此类推);
(4)编写函数print_res将数组res显示在屏幕上,每行显示5个数,可以复用步骤(2)中print
函数;
(5)编写函数sort_array将数组arr中的整数按照因子和从小到大排序,如果两个整数的因
子和相等,则按照它们的自然大小排序(注意:计算一个整数的因子和时包括1和其本身);
1。

苏大护理考研复试题及答案

苏大护理考研复试题及答案

苏大护理考研复试题及答案模拟试题:苏州大学护理专业考研复试题一、单项选择题(每题1分,共10分)1. 下列哪项不是护理伦理的基本原则?A. 尊重患者自主权B. 保护患者隐私C. 追求个人利益最大化D. 公正平等对待患者2. 护理记录中,以下哪项信息属于主观资料?A. 血压B. 体温C. 患者的主诉D. 心率3. 在护理操作中,以下哪项是正确的无菌技术操作?A. 从无菌容器中取出的物品,即使未用,也不能放回B. 无菌容器的盖子可以完全打开C. 无菌包的一角可以用手直接提起D. 无菌盘可以在空气中暴露超过4小时4. 以下哪项不是护理工作中的沟通技巧?A. 倾听B. 说服C. 反馈D. 打断患者谈话5. 以下哪项是护理评估中常用的观察方法?A. 触诊B. 叩诊C. 望诊D. 实验室检查6. 以下哪项是护理工作中的法律义务?A. 参与患者家属的决策B. 执行医生的非法医嘱C. 保护患者的合法权益D. 泄露患者的医疗信息7. 在护理管理中,以下哪项不是护理质量控制的内容?A. 护理操作规范性B. 护理文件书写质量C. 护理人员的工作态度D. 患者的满意度调查8. 以下哪项不是护理工作中的健康教育内容?A. 疾病知识B. 用药指导C. 医疗费用咨询D. 康复训练指导9. 在护理工作中,以下哪项是正确的疼痛评估方法?A. 仅根据患者主诉判断疼痛程度B. 观察患者的面部表情和行为C. 忽视患者的文化背景和个人差异D. 仅依赖医生的判断10. 以下哪项不是护理工作中的感染控制措施?A. 严格执行手卫生B. 正确使用个人防护装备C. 随意丢弃使用后的针头D. 定期清洁和消毒环境表面答案:1. C2. C3. A4. D5. C6. C7. D8. C9. B10. C二、简答题(每题5分,共20分)1. 简述护理工作中的“四轻”技术是什么?答案:护理工作中的“四轻”技术指的是在护理操作过程中,为了减少对患者的伤害和不适,要求护理人员做到:走路轻、说话轻、操作轻、关门轻。

苏州大学复试题及答案

苏州大学复试题及答案

苏州大学复试题及答案一、单项选择题(每题2分,共20分)1. 苏州大学位于哪个省份?A. 浙江省B. 江苏省C. 广东省D. 上海市答案:B2. 苏州大学成立于哪一年?A. 1900年B. 1910年C. 1921年D. 1931年答案:C3. 苏州大学的校训是什么?A. 厚德、博学、求是、创新B. 求是、创新、厚德、博学C. 厚德、博学、笃行、创新D. 笃行、厚德、博学、求是答案:A4. 苏州大学的主要校区位于哪个城市?A. 南京B. 苏州C. 无锡D. 扬州答案:B5. 苏州大学是否属于“211工程”高校?A. 是B. 否答案:A6. 苏州大学是否属于“985工程”高校?A. 是B. 否答案:B7. 苏州大学是否设有研究生院?A. 是B. 否答案:A8. 苏州大学的图书馆藏书量大约是多少?A. 100万册B. 200万册C. 300万册D. 400万册答案:C9. 苏州大学有多少个学院?A. 20个B. 30个C. 40个D. 50个答案:C10. 苏州大学的校徽颜色是什么?A. 蓝色B. 红色C. 绿色D. 黄色答案:A二、多项选择题(每题3分,共15分)1. 苏州大学的优势学科包括哪些?()A. 工程学B. 材料科学C. 化学D. 计算机科学答案:A B C2. 苏州大学提供的学位类型包括哪些?()A. 学士B. 硕士C. 博士D. 博士后答案:A B C3. 苏州大学的校园文化活动包括哪些?()A. 学术讲座B. 文艺演出C. 体育比赛D. 社团活动答案:A B C D4. 苏州大学在哪些领域有国际合作项目?()A. 教育B. 科研C. 经济D. 文化答案:A B5. 苏州大学的校园设施包括哪些?()A. 图书馆B. 实验室C. 体育馆D. 学生宿舍答案:A B C D三、简答题(每题5分,共20分)1. 请简述苏州大学的历史沿革。

2. 苏州大学在国内外的学术影响力如何?3. 苏州大学的教育特色是什么?4. 苏州大学为学生提供了哪些就业指导服务?四、论述题(每题10分,共20分)1. 论述苏州大学在推动地方经济发展中的作用。

苏州大学高分子材料化学884和高分子物理883考研复试真题总结答案

苏州大学高分子材料化学884和高分子物理883考研复试真题总结答案

2019苏大材料科学与工程复试笔试有机高分子方向一必做题100`(无机非与高分子一样)1.英语说明为什么要成为材料专业的研究生15`First of all, I have intense interest in materials science and engineering,which is very practical and useful. During the past four years,I learnt a lot from my major. But I realize the knowledge I had mastered was not enough to solve some specific problems.Secondly, I want to take materials science and engineering as my lifelong career; therefore, further study in this field is still necessary,especially in this competitive modern society. It is an indispensable step for my self-development in the future .Last but not the least, I love the atmosphere of this campus, which is full of passion and youthful spirit. Studying in Soochow University can help me to meet top students and scholars. Therefore, I believe it can bring my academic research to a higher level.This is why I want to be a postgraduate in this major.2.举例说明各种结合键特点(25`)注5种,一种5分①离子键是正负离子依靠静电库仑力而产生的键合。

苏州大学分析化学考研复试真题(笔试)

苏州大学分析化学考研复试真题(笔试)

苏州大学分析化学考研复试真题(笔试)
分析化学复试:
首先是15个选择题,考的多是仪器的基本操作、
名词解释:
系统误差
有效数字
滴定突跃
固相微萃取
还有一个记不得了
有机物红外光谱基团波段归属判断
给出紫外、红外、质谱、NMR推有机物结构式、
原子吸收、发射、荧光分析法的原理、区别、及不同点
TOC/DO/COD/BOD的含义及测量、
分析科学的地位及重要性
几种电位分析法的异同
改错:
镁离子的EDTA测定,告诉你个有错误的方法,找出来并改正
还有一个判断大题目
五个小题:
基本上都是光谱仪器方面的内容……
上面是题目大致的意思,今年题量多……
本文摘自东吴苏大考研网。

苏州大学法律硕士复试真题2009年至2020年持续更新中 苏大法硕复试真题 苏大法硕复试经验

苏州大学法律硕士复试真题2009年至2020年持续更新中 苏大法硕复试真题 苏大法硕复试经验

苏州大学法律硕士复试专业课口试真题(09年-20年)第一编:刑法1.共同犯罪的中止(2018)在共同犯罪中,要成立犯罪中止,必须具备下列条件:1)必须具备有效性。

共同犯罪中的部分共犯人退出或者放弃犯罪的,可以成立中止。

但除必须具备犯罪中止的一般要件外,还必须具备“有效性”,即有效地阻止共同犯罪结果发生或者有效地消除自己先前参与行为对共同犯罪的作用。

2)中止的效力仅及于本人,不及于其他共犯人部分共同犯罪人自动放弃犯罪且具备有效性的,单独成立犯罪中止,但是其中止的效力不及于其他共同犯罪人。

3)缺乏有效性不能单独成立中止。

在共同犯罪中,共同犯罪人消极退出犯罪或者自动放弃犯罪、阻止共同犯罪结果未奏效的,不能单独成立犯罪中止。

2.共同犯罪中止的条件?(2018)共同犯罪中的部分共犯人退出或放弃犯罪的,可以成立中止,需满足以下条件:a.犯罪中止的一般要件,时间性、自动性条件必须具备b.必须具备有效性。

即有效地阻止共同犯罪结果发生或者有效地消除自己先前参与行为对共同犯罪的作用。

c.中止的效力仅及于本人,不及于其他共犯人。

部分共同犯罪人自动放弃犯罪且具备有效性的,单独成立犯罪中止,但是其中止的效力不及于其他共同犯罪人。

d.缺乏有效性不能单独成立中止。

在共同犯罪中,共同犯罪人消极退出犯罪或自动放弃犯罪、阻止共同犯罪结果未奏效的,不能单独成立犯罪中止3.过于自信的过失(2018)过于自信的过失,又叫"有认识的过失"。

是指行为人已经预见自己的行为可能发生危害社会的结果,但轻信能够避免以致发生这种结果的心理态度。

过于自信的过失的特征表现为认识特征和行为特征,认识特征表现为行为人已经预见到自己的行为可能发生危害社会的结果,同时又轻信能够避免危害结果的发生。

意志特征表现为行为人既不希望也不放任危害结果的发生,即危害结果的发生是违背行为人的意志的。

行为人往往会根据自己的认识,采取一定的阻止危害结果发生的措施。

苏州大学分析化学考研复试真题

苏州大学分析化学考研复试真题

苏州大学分析化学考研复试真题
1、配制0.1mol/L 的HCl溶液,有碳酸钠和硼砂两种基准物质选用
(1)你会选用哪种基准物质,为什么?
(2)若使误差≤±0.1% ,至少称量多少克?
(3)
(4)设计实验步骤,包括仪器、指示剂变色、最终计算
2、滴定NaAc ,加入过量HCl,然后以NaOH 返滴定。

问这样测定是否正确,解释原因
3、测水的硬度,以EBT做指示剂时,当Ca 离子浓度过大时指示剂终点不灵敏,问解决方案?
4、氧化还原反应滴定前为什么要预处理?重铬酸钾测定铁矿中铁含量的原理,为什么要加入硫酸-磷酸混合液?
5、在色谱中,当固定相由60目变为100目,H-u 图会有什么变化?画出前后两个图
6、简述分子荧光、磷光、化学发光的异同
7、傅里叶红外仪和一般红外仪最大的不同是什么,本文摘自东吴苏大考研网简述其优点
8、检测金属离子
(1)完全未知(2)已知金属(3)未知,但要准确知道组成,不需要知道含量(4)极微量金属
可选用方法
(1)原子发射(2)原子吸收(3)ICP-AES (4)ICP-MS (5)伏安法(6)荧光9、极谱法电极使用前需要活化
(1)用什么方法
(2)活化结束终点怎么确定
(3)
(4)什么原理
10、核磁共振需要基准,是什么,为什么选它。

位移怎么表示?。

苏州大学计算机学院数据结构及操作系统考研复试真题答案指南

苏州大学计算机学院数据结构及操作系统考研复试真题答案指南

苏州大学计算机学院数据结构与操作系统考研复试指南本文包含:具有苏大特色的《数据结构与操作系统》(872)备考指南、苏大特色的复试,分量绝对足。

本文不包含:不包含政治英语数学等内容。

一、简单介绍本人2013届考研,我是到大三下了才开始有考研的想法的,被两个关系很好的老师给“忽悠”的。

本科是一所内地普通的二本院校,一般来讲考苏大的本科背景都差不多。

我本科阶段的成绩并不好,挂科也有,60徘徊的科目也不少。

英语六级过了但是考了三次,软考过了软设也考了三次,然后就没有了,说这些主要是为了让学弟学妹们有所比较,说实在的讲到底考研最重要的还是坚持,很多的同学就是不能坚持,甚至考到最后了弃考的。

二、《数据结构与操作系统》(872)备考指南(一)时间安排我当时是最后两个月了才开始看的,并且只在下午看。

我的基础很一般,专业课的复习既要重视因为分数多好拿分,复试的同学除了跨专业的几乎没有低于120的,我考了136,所以说要重视。

同时又要轻视因为实在是很简单的,比起408难度降低了很多。

要记得东西稍微有点多,所以可以靠后点开始复习。

(二)全部书籍资料准备0.请忽略苏大所谓的参考教程,特别是那本板砖操作系统,如果是对付考研绝对没必要看。

1.我没有买任何专业课方面的书只在学校图书馆借了两本书《计算机专业考研辅导丛书:数据结构联考辅导教程(2010版)》、《计算机专业考研辅导丛书:计算机操作系统联考辅导教程(2011版)》,这两本书用来对付苏大的872非常好,并不要求最新的,要知道苏大的考纲都很多年没改了,试卷结构题型也比较稳定。

相信你们学校图书馆也肯定有借。

2.打印一份苏大872考纲,只要打印《数据结构与操作系统》的就可以了。

3.打印苏大99-2010年的872真题(某些年份可能缺失),论坛就有得下。

(三)复习过程1.首先要看一遍苏大的考纲和真题,了解苏大考什么、怎么考。

考纲更重要的作用是看不考什么,例如树的遍历,大纲上是没有层次遍历的,这个一直也没考过。

苏大哲学复试真题答案解析

苏大哲学复试真题答案解析

苏大哲学复试真题答案解析苏大(苏州大学)哲学专业复试是考生们走入研究生生涯的一道门槛。

通过复试,考官们将综合评估考生的学术素养、研究潜力以及适应研究生学习的能力。

对于许多考生来说,复试是一个紧张而又重要的环节。

因此,了解和掌握真题的答案解析对于备战复试至关重要。

在苏大哲学复试中,学术面试是重中之重的环节。

面试内容主要包括对所报考领域的专业知识和研究兴趣的了解,以及对相关经典哲学文献的阅读和理解能力的考察。

以下是对苏大哲学复试真题的答案解析,希望能给考生们提供一些参考。

1. "思辨"和"研究"在哲学上有何区别?思辨是指在对人类思维和认知等问题进行深入思考、辩证以及推理的过程,它更注重于理念的发展和构建。

研究则是在既有的理论基础上,通过方法论和实证研究,具体地对某个问题或某个领域进行定量或定性分析。

可以说,思辨更偏重于思维的精神层面,而研究更注重于实际的可量化成果。

2. 归纳和演绎是什么?它们的区别和联系是什么?归纳是指从特殊到一般的论证方法,通过对一系列具体事例或个别现象的综合考察,得出一般性规律或结论的思维过程。

而演绎则是从一般到特殊的论证方法,通过已有的一般规律或原理来推导出特殊情况的结论。

可以说,归纳偏向于从现象到规律的总结,而演绎更注重于规律到现象的推演。

两者的联系在于,归纳和演绎都是逻辑学中的基本思维方式,它们相互补充,相互依存,共同构成了完整的逻辑思维体系。

在哲学研究中,归纳和演绎两种方法常常交替使用,从而更全面地认识和解释问题。

3. 如何解读康德的《纯粹理性批判》?《纯粹理性批判》是康德哲学中的巅峰之作,被誉为现代哲学的里程碑。

康德在这本书中对人的认识能力进行了深入的探讨和批判。

他提出了"先验感性表象"和"先验概念"的概念,指出人的知识不能仅仅依靠经验,还需要先验的直观和概念来构建。

康德的《纯粹理性批判》可以理解为一部探索人的认识限度的著作。

苏州大学文学史考研复试真题

苏州大学文学史考研复试真题

苏州大学文学史考研复试真题
1.隐含读者与真实读者的关系及其隐含读者的作用。

2.宋词两大流派、代表作家及其艺术特点。

3.《海滨故人》《苏菲女士的日记》《沉沦》《孤独者》中苦闷产生的原因及其作者对苦闷的态度。

4.结合作品谈谈对塞万提斯的看法。

评论题
1.《寻找我家》是一篇好后现代性质的散文。

专业课面试(100分)
1.有关毕业论文(有关通俗的问题)——略
2.围城——方鸿渐的命名原因;评论;意蕴
3.苏童——先锋代表作;近期以神话为题材的作品及同时期其他作家以神话为题材的作品;短篇创作
4.晚生代——韩东的作品;先锋派与晚生代的区别
5.鲁迅的作品很重要——伤势的主人公及副标题……
6.稍微了解苏州当代作家
本文摘自东吴苏大考研网。

苏州大学计算机学院考研复试真题答案经验

苏州大学计算机学院考研复试真题答案经验

苏州大学计算机学院考研复试真题答案经验上午6点15分在东校区医院体检。

我特意起了个早,6点就到了那边,结果排队的人已经拐了两个弯了,没办法只得排到最后,不过前进的速度还蛮快,不过还是没有赶在7点40做完胸透:(因为8点钟还要在理工楼进行上机考试,胸透只能到下午去做了。

匆匆赶到理工楼已经快8点了,连忙花了5毛钱买个鞋套进入机房。

上机题目很简单,是从100到1000内找出不带9的素数,然后存放到D盘下的result.txt文件中,可以自由选择语言:TC 或VC++。

时间是一个半小时,很充裕。

苏大可真有钱,清一色DELL品牌机,40G/512MB/17'LCD/...告别了上机,接着就是笔试。

真的是喘气的机会都没有。

笔试的内容就是《计算机组成原理》,《软件工程导论》,《数据库系统教程》。

从理工楼,到鸿远楼,再到理工楼,我兜了半个苏大,终于落地生根,总共有111个战友一起参加考试,安排了5-6个老师来监考,反正是看不到别人的,都要靠自己。

今年是第一年增加笔试,题目出的比较偏,但是指定教材上都有!题目记得的有:(1)计算机组成原理(30分):从计算机体系结构角度,分析单核CPU和双核(多核)CPU的区别;FLASH和ROM,RAM,EPROM在组成,性能,应用方面的区别;还有一个指令方面的题目。

(2)软件工程(30分):JAKSON图,数据流图作用及符号表示,指令复用。

(3)数据库(40分):第一题是5个选择,1分/个,题目不难,比如X锁等。

第二题简答,数据库中为什么要有并发机制,还有一小题忘了。

第三题是使用SELECT语句实现某些检索。

如果有其他同学记得的话可以补充一下。

笔试完毕,已经是中午了,饥肠辘辘的我连忙冲到第一食堂,菜的味道不咋样,价钱却不便宜。

由于下午1点还有英语口试,吃完饭休息了一会就又赶到了理工楼。

口试是在语音室里进行的,这跟其他学院的口试好象不太一样,不用面对着老师。

戴着耳机,跟着指示进行录音。

苏州大学历年考研各学科复试真题与经验合集

苏州大学历年考研各学科复试真题与经验合集

历年苏州大学考研复试真题与经验合集2016年2016年苏州大学计算机技术专硕考研复试经验2016年苏州大学设计类考研复试经验2016年苏州大学431金融学考研复试总结与分析2016年苏州大学会计专硕考研复试真题+心得分享2016年苏州大学翻译硕士MTI考研复试真题与经验总结2016年苏州大学汉语国际教育考研复试真题2016年苏州大学区域经济学考研复试真题2016年苏州大学计算机技术专硕考研复试经验2015年2015年苏州大学考研法理学复试全程回顾2015年苏州大学艺术设计考研复试必知2015苏大外院MTI英语口译考研复试回顾2015年苏州大学汉硕考研复试真题2015年苏州大学法律硕士(法学)考研复试真题2015年苏州大学高等教育学考研复试真题回顾2015年苏州大学产业经济学考研复试真题2015年苏州大学现当代文学考研复试真题2015年苏州大学古代文学复试真题2015年苏州大学计算机考研复试经验与总结2015苏州大学英语语言文学考研复试真题与经验回顾2015年苏大考研翻译硕士复试经验心得2014年2014年苏州大学社会学考研复试经历总结2014年苏州大学外院英语笔译MTI考研复试经验分享2014年苏州大学翻译硕士mti考研复试经验东吴苏大考研网:苏州大学王健法学院考研复试指南2014苏州大学艺术学院设计学环艺方向考研复试经验2014年苏州大学世界史考研复试真题2014年苏州大学英语语言文学考研复试真题2014年苏州大学古代汉语考研初试+复试看书经验2014年苏州大学文学院考研复试真题苏州大学中国现当代文学考研复试经验分享2013年2013年苏州大学英语笔译考研复试经验2013年苏州大学王建法学院考研复试经验回顾2013年苏州大学分析化学考研复试真题2013年苏州大学mpacc会计专硕考研复试经验分享2013苏州大学法学专业考研复试情况2013年苏州大学计算机考研指南及复试特色2012年2012年苏州大学文学院考研复试真题2012年苏州大学民商法考研复试真题2012年苏州大学会计硕士考研复试真题2012年苏州大学行政管理考研复试真题2012年苏州大学行政法考研复试真题2012年苏州大学分析化学考研复试真题2012年苏州大学骨外科考研复试真题2012年苏州大学翻译硕士(MTI)考研复试经历2012届苏大电子信息学院信息与通信工程专业复试经验分享2012届苏大电子信息学院、信息与通信工程专业的复试情况2011年2011年苏州大学普外科考研复试真题2011年苏州大学汉语教学考研复试真题2011年苏州大学分析化学考研复试真题2011年苏州大学金融学硕考研复试经验2011年苏州大学应用心理学考研复试真题与经验2011年苏州大学发展与教育考研复试经验2010年2010年苏州大学基础数学&应用数学考研复试真题2010年苏州大学计算机学院考研复试经验2010年苏州大学普外考研复试真题2010年苏州大学分析化学考研复试真题(笔试)2009年2009年苏州大学基础数学&应用数学考研复试真题2009年苏州大学现当代文学考研复试真题2009年苏州大学文学史考研复试真题苏州大学数学学院考研复试要点总结2009年苏州大学数学考研复试经验2008年2008年苏州大学法学院考研复试经验2008年苏州大学民商法考研复试经验2008年苏州大学现当代文学考研复试经验2008年苏州大学现当代文学考研复试真题08年苏大企业管理专业复试经验2007年2007年苏州大学基础数学&应用数学考研复试真题2007年苏州大学宪法学与行政法考研复试真题2007年苏州大学刑法学考研复试真题(刑事政策学)2007年苏州大学政管院考研复试真题(政治学)2007年苏州大学诉讼法考研复试经验回顾2007年苏州大学法学理论考研复试真题2007年苏州大学法律史考研复试真题2007年苏州大学国际法学考研复试真题2007年苏州大学环境与资源保护法考研复试真题2007年苏州大学行政法考研复试真题2007年苏州大学经济法学考研复试真题2007年苏州大学民商法考研复试真题各高校往年考生谈考研复试经验2002年苏州大学传媒学院评论写作考研复试真题本文摘自东吴苏大考研网。

(完整版)苏州大学材料与化学化工学部2015-2018年考研复试真题

(完整版)苏州大学材料与化学化工学部2015-2018年考研复试真题

2015年材料与工程复试笔试1•材料的四大要素是什么?它们之间的关系如何?1. 材料的四要素为:合成与加工、组成与结构、性质、使用性能a)组成和结构是材料在原子分子的度量,b)合成与加工是指建立原子、分子和分子聚集体的新排列,在原子尺度到宏观尺度的所有尺度上对结构进行控制以及高效而有竞争力地制造材料和零件的演变过程。

c)性质是材料功能特性和效用的定量度量和描述。

d)使用性能通常是指材料在最终的使用过程中的行为和表现。

2. 材料学就是研究四要素之间的关系的一门学科。

对材料科学与工程的发展来说,上述四个要素是基本的,整体的,缺一不可的。

材料的四要素反映了材料科学与工程研究的共性问题,其中合成和加工、使用性能是两个普遍的关键要素。

在四个要素上,各种材料相互借鉴、相互补充、相互渗透。

1)材料的合成与加工决定了组成与结构,2)组成与结构决定了材料的性质,3)材料的性质是组成与结构的外在反映,又提供了材料的使用性能。

4)只有通过合成与加工改变了材料的结构与成分,才能改变和控制材料的使用性能,5)材料的使用性能与使用环境有关要有效地使用材料,必须了解合成与加工、组成与结构、性质、使用性能及使用环境的影响。

在四要素关系中,最基本的是组成与结构和使用性能的关系,材料学的主要任务就是研究材料的组成与结构、使用性能及二者间的关系。

2. 材料的加工与合成的定义和内容、关系以及发展前景定义和内容:1. 合成与加工是指建立原子、分子和分子聚集体的新排列,在从原子尺度到宏观尺度的所有尺度上对结构进行控制以及高效而有竞争力地制造材料和零件的演变过程。

2. 合成是指原子、分子重新排列或者相互反应以制造新材料的物理与化学方法。

合成是发现新的化学现象和物理现象的主要源泉,合成还是新技术开发和现有技术改进中的关键要素。

3. 加工(成型加工),除了上述为生产材料而进行的原子、分子控制外,还包括较大尺度的概念,有时也包括制造等工程问题。

关系:1. 材料的合成与加工工艺决定了材料的组成与结构,从而决定了材料的性质;2. 合成决定材料的组成,赋予材料的基本性质;加工改变材料的结构,进一步改进和实用化材料,最终赋予材料使用性能3. 合成时需要考虑材料的加工性能,而加工又对合成工艺的改进提出要求4. 合成与加工是控制产品质量、成本的关键发展前景:现今,合成与加工的区别日渐模糊,这是由于材料在合成时往往预先考虑到后续加工,如高分子材料的注射成型将单体快速混合,充模,瞬间同步完成聚合反应与成型。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if (is_prime(i) &&num-i>1) {printf("%d ", i);split(num-i);return;}}}int main(void){int i;while (scanf("%d", &i)){split(i);printf("\n");}getchar();}要求:统计篇文章中各英文字母的个数,并排序.程序:#include <stdio.h>#include <stdlib.h>typedef struct{char c;int n;} Letter;void swap(Letter*a, Letter*b){Letter temp=*a;*a=*b;*b=temp;}int compare(Letter*a, Letter*b){if (a->n<b->n)return-1;else if (a->n>b->n)return1;elsereturn0;void selection_sort(Letter*ptr, int count){for (int i=0; i<count; i++)for (int j=i+1; j<count; j++)if (compare(&ptr[i], &ptr[j]) >0)swap(&ptr[i], &ptr[j]);}bool is_upper(char c) { return c>='A'&&c<='Z'; } bool is_lower(char c) { return c>='a'&&c<='z'; }int main(void){FILE*fp=fopen("address.txt", "r");Letter letter[26];char c;if(!fp){printf("File opening failed");return EXIT_FAILURE;}for (int i=0; i<26; i++){letter[i].c=i+'a';letter[i].n=0;}while ((c=fgetc(fp)) !=EOF){if (is_upper(c))letter[c-'A'].n++;else if (is_lower(c))letter[c-'a'].n++;}selection_sort(letter, 26);for (int i=0; i<26; i++)printf("%c: %d\n", letter[i].c, letter[i].n);fclose(fp);}2006年复试上机题要求:找出100到1000内的不含9的素数,存到result文件中.程序:#include <stdio.h>bool is_prime(int num){if (num<2)return false;for (int i=2; i*i<=num; i++)if (num%i==0)return false;return true;}bool has9(int num){if (num<0)return false;while (num>0){if (num%10==9)return true;num/=10;}return false;}int main(){FILE*fp=fopen("result.txt", "w");for (int i=100; i<1000; i++)if (is_prime(i) &&!has9(i))fprintf(fp, "%d\n", i);fclose(fp);}2007年复试上机题要求:把10到1000之间满足以下两个条件的数,存到result.txt文件中.是素数.它的反数也是素数,如:123的反数是321.程序:#include <stdio.h>bool is_prime(int num){if (num<2)return false;for (int i=2; i*i<=num; i++)if (num%i==0)return true;}int reverse(int num){int rev=0;while (num>0){rev=rev*10+num%10;num/=10;}return rev;}int main(){FILE*fp=fopen("result.txt", "w");for (int i=100; i<1000; i++)if (is_prime(i) &&is_prime(reverse(i)))fprintf(fp, "%d %d\n", i, reverse(i));fclose(fp);}2008年复试上机题要求:用IE 从FTP 上下载org.dat ,并保存在D盘的根目录中.此文件中按文本方式存放了一段其他文章,其中有若干长度小于15的英文单词,单词之间用空格分开,无其他符号.顺序读取这段文章的不同的单词(大小写敏感),同时在读取的过程中排除所有的单词THE以及变形,即这些单词不能出现在读取的结果中.将读取的所有单词的首字母转大写后,输出D 根目录下new.txt,每个单词一行.程序:#include <stdio.h>#include <stdlib.h>#include <string.h>bool is_the(char word[15]){char the[] ="the";if (strlen(word) !=strlen(the))return false;for (int i=0; i<strlen(word); i++)word[i] |=0x20;return strcmp(word, the) ==0;}int main(){FILE*fporg=fopen("org.dat", "r");FILE*fpnew=fopen("new.txt", "w");char word[15];if(!fporg||!fpnew){printf("File opening failed");return EXIT_FAILURE;}printf("org.dat:\n");while (fscanf(fporg, "%s", word) !=EOF){printf("%s ", word);if (!is_the(word)){word[0] = (word[0] |0x20) -0x20;fprintf(fpnew, "%s\n", word);}}printf("\n");fclose(fporg);fclose(fpnew);fpnew=fopen("new.txt", "r");printf("new.txt:\n");while (fscanf(fporg, "%s", word) !=EOF)printf("%s ", word);printf("\n");fclose(fpnew);return0;}输出:org.dat:The constructor is used to initialize the object The destructor is used to delete the Object the calling seqence of constructor is opposite to the calling sequence of destructornew.txt:Constructor Is Used To Initialize Object Destructor Is Used To Delete Object Calling Seqence Of Constructor Is Opposite To Calling Sequence Of Destructor2009年复试上机题要求:用IE 浏览器从FTP 上下载org.dat ,并保存在D盘的根目录下.此文件中按文本方式存放了一段其他文章,其中有若干长度小于15的十进制或八进制数字,数字之间用,分开,数字内部存在且仅存在空格.顺序读取这些数字将他们转变为十进制数后按从大到小的顺序排序后,输出到D盘根目录下new.txt,每个数字一行.eg:_235_,34__2,_043_1_,1_3,分别是:十进制235,十进制342,八进制431,十进制13,_代表空格.程序:#include <stdio.h>#include <stdlib.h>#include <string.h>void swap(int*a, int*b){int temp=*a;*a=*b;*b=temp;}int compare(int*a, int*b){if (a<b)return-1;else if (a>b)return1;elsereturn0;}void selection_sort(int*ptr, int count){for (int i=0; i<count; i++)for (int count=i+1; count<count; count++)if (compare(&ptr[i], &ptr[count]) >0)swap(&ptr[i], &ptr[count]);}bool is_num(char c) { return c>='0'&&c<='9'; }bool valid(char c) { return is_num(c) ||c==' '; }int main(){FILE*fporg=fopen("org.dat", "r");FILE*fpnew=fopen("new.txt", "w");int i;int count=0;int arr[128];char c;char num[15];printf("org.dat:\n");{if (is_num(c)){i=0;num[i++] =c;while ((c=fgetc(fporg)) !=EOF&&valid(c))if (is_num(c)) num[i++] =c;num[i] ='\0';printf("%s\n", num);arr[count++] =num[0] =='0'?strtol(num, NULL, 8) :strtol(num, NULL, 10);}}selection_sort(arr, count);for (i=0; i<count; i++)fprintf(fpnew, "%d\n", arr[i]);fclose(fporg);fclose(fpnew);fpnew=fopen("new.txt", "r");printf("new.txt:\n");while (fgets(num, sizeof(num), fpnew))printf("%s", num);fclose(fpnew);}输出:org.dat:235342043113new.txt:235342281132010年复试上机题要求:从FTP 上下载make.exe 和org.dat ,运行make.exe 输入准考证后三位生成data.txt,文件为二进制编码.data.txt内存有2048个整数,其中前n个为非0数,后2048-n个数为0,将其读入数组,计算非零数的个数n.选出n个数中的最大数和最小数.选出n个数中最大素数.将n个数从大到小排序,并平均分成三段(若n非3的整数倍,则不考虑最后的1-2个数),选出中间段的最大数和最小数.程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>bool is_prime(int num){if (num<2)return false;for (int i=2; i*i<=num; i++)if (num%i==0)return false;return true;}void swap(int*a, int*b){int temp=*a;*a=*b;*b=temp;}int compare(int*a, int*b){if (a<b)return-1;else if (a>b)return1;elsereturn0;}void selection_sort(int*ptr, int count){for (int i=0; i<count; i++)for (int count=i+1; count<count; count++)if (compare(&ptr[i], &ptr[count]) >0)swap(&ptr[i], &ptr[count]);}int main(void){FILE*fp;int num[2048];int min=RAND_MAX;int max_prime=0;int n, i;fp=fopen("data.txt", "wb");if(!fp){printf("File opening failed");return EXIT_FAILURE;}srand(time(NULL));for (i=0; i<1000; i++)num[i] =rand() %4096;for (; i<2048; i++)num[i] =0;fwrite(num, sizeof(int), 2048, fp);fclose(fp);fp=fopen("data.txt", "rb");if(!fp){printf("File opening failed");return EXIT_FAILURE;}fread(num, sizeof(int), 2048, fp);for (n=0; n<2048; n++)if (num[n] ==0)break;printf("n = %d\n", n);for (i=0; i<n; i++){if (min>num[i]) min=num[i];if (max<num[i]) max=num[i];if (is_prime(num[i]) &&num[i] >max_prime) max_prime=num[i];}printf("min = %d\nmax = %d\nmax_prime = %d\n", min, max, max_prime);selection_sort(num, n);printf("min in mid_seg = %d\nmax in mid_seg = %d\n", num[n/3*2-1], num[n/3]);fclose(fp);}输出:n = 1000min = 1max = 4095max_prime = 4093min in mid_seg = 3630max in mid_seg = 18632011年复试上机题要求:输出1000-9999中满足以下条件的所有数:该数是素数.十位数和个位数组成的数是素数,百位数和个位数组成的数是素数.个位数和百位数组成的数是素数,个位数和十位数组成的数是素数. 比如1991,个位和十位组成的数就是19.程序:#include <stdio.h>bool is_prime(int num){if (num<2)return false;for (int i=2; i*i<=num; i++)if (num%i==0)return false;return true;}int main(void){for (int i=1000; i<=9999; i++){int g=i%10;int s= (i/10) %10;int b= (i/100) %10;if (is_prime(i) &&is_prime(i%100) &&is_prime(g*10+b) &&is_prime(g*10+s) &&is_prime(b*10+g))printf("%d ", i);}}输出:1117 1171 1997 2111 2113 2131 2137 2311 2371 2711 2713 2731 2917 3137 3331 3371 3779 3917 4111 4337 4397 4937 5113 5171 5197 5711 5779 6113 6131 6173 6197 6311 6317 6337 6397 6779 6917 6997 7331 7937 8111 8117 8171 8311 8317 8713 8731 8779 9137 9173 9311 9337 9371 93972012年复试上机题要求:从服务器上下载数据文件org.dat文件以二进制方式存放一系列整数,每个整数占4个字节. 从第一个整数规定处于第一象限的坐标点为有效点,请问数据文件中所有点的个数n为多少?有效点的个数k为多少?每个有效点与坐标原点构成一个的矩形,请问k个有效点与坐标原点构成的k个矩形的最小公共区域面积为多少?寻找有效点钟符合下列条件的点:以该点为坐标原点,其它有效点仍然是有效点即处于第一象限(不包括坐标轴上的点). 输出这些点.对所有有效点进行分组,每个有效点有且只有属于一个分组,分组内的点符合下列规则:若对组内所有点的x 坐标进行排序,点p1(x1, y1)在点p2(x2, y2)后面,即x1>x2那么y1>y2,请输出所有的分组.程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>typedef struct{int x;int y;} Coordinate;void swap(Coordinate*a, Coordinate*b){Coordinate temp=*a;*a=*b;*b=temp;}int compare(const Coordinate*lhs, const Coordinate*rhs){if (lhs->x<rhs->x)return-1;if (lhs->x>rhs->x)return1;elsereturn0;}void selection_sort(Coordinate*ptr, int begin, int end){for (int i=begin; i<end; i++)for (int j=i+1; j<end; j++)if (compare(&ptr[i], &ptr[j]) >0)swap(&ptr[i], &ptr[j]);}void display(Coordinate*ptr, int count){for (int i=0; i<count; i++)printf("\n");}int main(void){FILE*fp;Coordinate*xy;int*num;int n, count;fp=fopen("org.dat", "wb");num= (int*) malloc(sizeof(int) *128);srand(time(NULL));for (int i=0; i<128; i++)num[i] =rand() %128-64;fwrite(num, sizeof(int), 128, fp);free(num);fclose(fp);fp=fopen("org.dat", "rb");fseek(fp, 0, SEEK_END);count=ftell(fp) /sizeof(int);n=count/2;num= (int*) malloc(sizeof(int) *count);xy= (Coordinate*) malloc(sizeof(Coordinate) *n);rewind(fp);fread(num, sizeof(int), count, fp);fclose(fp);int k=0;int minx=RAND_MAX;int miny=RAND_MAX;for (int i=0; i<count; i+=2){if (num[i] >0&&num[i+1] >0){xy[k].x=num[i];xy[k].y=num[i+1];if (minx>xy[k].x)minx=xy[k].x;if (miny>xy[k].y)miny=xy[k].y;k++;}}selection_sort(xy, 0, k);printf("valid points:\n");display(xy, k);printf("n = %d k = %d\n", n, k);printf("min area = %d\n", minx*miny);int sorted=0;{selection_sort(xy, sorted, k);printf("points grouped by (%2d, %2d): ", xy[sorted].x, xy[sorted].y);miny=xy[sorted++].y;for (int i=sorted; i<k; i++){if (xy[i].y>=miny){miny=xy[i].y;printf("(%d, %d) ", xy[i].x, xy[i].y);swap(&xy[i], &xy[sorted++]);}}printf("\n");}}输出:valid points:( 3, 8) (10, 62) (11, 40) (20, 6) (26, 7) (26, 20) (29, 31) (33, 10) (34, 37) (37, 33) (50,55) (52, 59) (53, 49) (53, 8) (57, 16) (58, 20)n = 64 k = 16min area = 18points grouped by ( 3, 8): (10, 62)points grouped by (11, 40): (50, 55) (52, 59)points grouped by (20, 6): (26, 20) (29, 31) (34, 37) (53, 49)points grouped by (26, 7): (33, 10) (37, 33)points grouped by (53, 8): (57, 16) (58, 20)2013年复试上机题要求:IntroductionThe project will read flight data from an input file and flight path requests from another input file and output the required information.Your TaskYour program should determine if a particular destination airport can be reached from a particular originating airport within a particular number of hops. A hop (leg of a flight) is a flight from oneairport to another on the path between an originating and destination airports. For example, the flight plan from PVG to PEK might be PVG -> CAN -> PEK. So PVG -> CAN would be a hop and CAN -> PEK would be a hop.Input Data FilesPath Input File(PathInput.txt)This input file will consist of a number of single origination/destination airport pairs (direct flights).The first line of the file will contain an integer representing the total number of pairs in the rest of the file.6[PVG, CAN][CAN, PEK][PVG, CTU][CTU, DLC][DLC, HAK][HAK, LXA]Path Request File(PathRequest.txt)This input file will contain a sequence of pairs of origination/destination airports and a max number of hops. The first line of the file will contain an integer representing the number of pairs in the file.2[PVG, DLC, 2][PVG, LXA, 2]Output File(Output.txt )For each pair in the Path Request File, your program should output the pair followed by YES or NO indicating that it is possible to get from the origination to destination airports within the max number of hops or it is not possible, respectively.[PVG, DLC, YES][PVG, LXA, NO]Assumptions you can make:You may make the following simplifying assumptions in your project:C/C++ is allowed to be used.All airport codes will be 3 letters and will be in all capsOrigination/destination pairs are unidirectional. To indicate that both directions of flight arepossible, two entries would appear in the file. For example, [PVG, PEK] and [PEK, PVG] wouldhave to be present in the file to indicate that one could fly from Shanghai to Beijing and fromBeijing to Shanghai.程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>typedef struct Edge{int index;char city[4];struct Edge*next;typedef struct{char city[4];Edge*first;} Vertex;typedef struct{int size;int capacity;Vertex*vertices;} Graph;int find(Vertex*vertices, int count, char src[4]){int i;for (i=0; i<count; i++)if (strcmp(src, vertices[i].city) ==0)break;return i;}void add_edge(Graph*g, char src[4], char dst[4]){int i, j;Edge*e;i=find(g->vertices, g->size, src);if (i==g->size){strcpy(g->vertices[g->size].city, src);g->vertices[g->size].first=NULL;g->size++;}j=find(g->vertices, g->size, dst);if (j==g->size){strcpy(g->vertices[g->size].city, dst);g->vertices[g->size].first=NULL;g->size++;}for (e=g->vertices[i].first; e!=NULL; e=e->next) if (strcmp(e->city, dst) ==0)break;if (e==NULL){e= (Edge*) malloc(sizeof(Edge));strcpy(e->city, dst);e->index=j;e->next=g->vertices[i].first;g->vertices[i].first=e;}bool is_possible(Graph*g, bool*visited, char src[], char dst[], int step){int current;Edge*e;current=find(g->vertices, g->size, src);if (step==0||visited[current])return false;else{visited[current] =true;for (e=g->vertices[current].first; e!=NULL; e=e->next){if (strcmp(e->city, dst) ==0&&step==1)return true;else if (is_possible(g, visited, e->city, dst, step-1))return true;}visited[current] =false;}return false;}void destruct(Graph*g){for (int i=0; i<g->size; i++){while (g->vertices[i].first!=NULL){Edge*e=g->vertices[i].first->next;free(g->vertices[i].first);g->vertices[i].first=e;}}free(g->vertices);}void display(Graph*g){printf("adjacency list:\n");for (int i=0; i<g->size; i++){printf("%s: ", g->vertices[i].city);for (Edge*edge=g->vertices[i].first; edge!=NULL; edge=edge->next) printf("%s ", edge->city);printf("\n");}printf("\n");}int main(void)FILE*fpi=fopen("PathInput.txt", "r");FILE*fpr=fopen("PathRequest.txt", "r");FILE*fpo=fopen("Output.txt", "w");char line[16];char src[4];char dst[4];bool*visited;int step;int num;Graph g;if (!fpi||!fpr||!fpo){printf("failed to open files.\n");exit(-1);}memset(line, 0, sizeof(line));if (fgets(line, sizeof(line), fpi) !=NULL){g.size=0;g.capacity=atoi(line) *2;g.vertices= (Vertex*) malloc(g.capacity*sizeof(Vertex));memset(g.vertices, 0, g.capacity);}while (fgets(line, sizeof(line), fpi) !=NULL){memcpy(src, line+1, 3);src[3] ='\0';memcpy(dst, line+6, 3);dst[3] ='\0';add_edge(&g, src, dst);}display(&g);printf("flight info:\n");visited= (bool*) malloc(g.size);if (fgets(line, sizeof(line), fpr) !=NULL)num=atoi(line);while (fgets(line, sizeof(line), fpr) !=NULL){memcpy(src, line+1, 3);src[3] ='\0';memcpy(dst, line+6, 3);dst[3] ='\0';step=line[11] -'0';memset(visited, false, g.size);if (is_possible(&g, visited, src, dst, step)){printf("[%s, %s, %d, YES]\n", src, dst, step);fprintf(fpo, "[%s, %s, YES]\n", src, dst);}elseprintf("[%s, %s, %d, NO]\n", src, dst, step);fprintf(fpo, "[%s, %s, NO]\n", src, dst);}}destruct(&g);free(visited);fclose(fpi);fclose(fpr);fclose(fpo);}输出:adjacency list:PVG: CTU CANCAN: PEKPEK:CTU: DLCDLC: HAKHAK: LXALXA:flight info:[PVG, DLC, 2, YES][PVG, LXA, 2, NO]2014年复试上机题要求:从网页上下载input.dat 文件,里面是用二进制编写的,里面放了一堆int 型的数,每个数占4个字节,每次读取两个,这两个数构成一个坐标.规定处于第一象限的数是有效点(即x>0, y>0的坐标),问这么多点中有效点有多少个?现在用户从键盘输入一个坐标和一个数字k,设计算法输出k个离该坐标距离最近的点的坐标和每个坐标到该点的距离,写入到output.txt文件中.程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>typedef struct{int x;int y;} Coordinate;Coordinate point;double distance(const Coordinate*a, const Coordinate*b) {int val= (a->x-b->x) * (a->x-b->x) +(a->y-b->y) * (a->y-b->y);return sqrt((double) val);}void swap(Coordinate*a, Coordinate*b){Coordinate temp=*a;*a=*b;*b=temp;}int compare(const Coordinate*a, const Coordinate*b){double dista=distance(a, &point);double distb=distance(b, &point);if (dista<distb)return-1;if (dista>distb)return1;elsereturn0;}void selection_sort(Coordinate*ptr, int begin, int end) {for (int i=begin; i<end; i++)for (int j=i+1; j<end; j++)if (compare(&ptr[i], &ptr[j]) >0)swap(&ptr[i], &ptr[j]);}void display(Coordinate*ptr, int count){for (int i=0; i<count; i++)printf("(%2d, %2d) ", ptr[i].x, ptr[i].y);printf("\n");}int main(void){FILE*fp;Coordinate*xy;int*num;int count, coord_count;num= (int*) malloc(sizeof(int) *128);srand(time(NULL));for (int i=0; i<128; i++)num[i] =rand() %128-64;fwrite(num, sizeof(int), 128, fp);free(num);fclose(fp);fp=fopen("org.dat", "rb");fseek(fp, 0, SEEK_END);count=ftell(fp) /sizeof(int);coord_count=count/2;num= (int*) malloc(sizeof(int) *count);xy= (Coordinate*) malloc(sizeof(Coordinate) *coord_count);rewind(fp);fread(num, sizeof(int), count, fp);fclose(fp);int valid=0;fp=fopen("output.txt", "w");for (int i=0; i<count; i+=2){if (num[i] >0&&num[i+1] >0){xy[valid].x=num[i];xy[valid].y=num[i+1];valid++;}}printf("valid points:\n");display(xy, valid);printf("total: %d\n", valid);int k;printf("coordinate: ");scanf("%d %d", &point.x, &point.y);printf("k = ");scanf("%d", &k);selection_sort(xy, 0, valid);printf("the nearest %d points to (%d, %d) are:\n", k, point.x, point.y);for (int i=0; i<k; i++){printf("(%2d, %2d) %7.2f\n", xy[i].x, xy[i].y, distance(&xy[i], &point));fprintf(fp, "(%2d, %2d) %7.2f\n", xy[i].x, xy[i].y, distance(&xy[i], &point));}fclose(fp);}输出:valid points:(49, 38) (59, 45) (53, 19) (34, 55) (23, 62) ( 2, 11) (14, 14) (55, 52) (62, 37) (46, 29) (19,57) (12, 18) ( 4, 7)total: 13coordinate: 0 0k = 5the nearest 5 points to (0, 0) are:( 4, 7) 8.06( 2, 11) 11.18(14, 14) 19.80(12, 18) 21.63(46, 29) 54.382015年复试上机题要求:从网页上下载input.dat 文件,里面是用二进制编写的,里面放了一堆int 型的数,每个数占4个字节,每次读取两个,这两个数构成一个坐标.规定处于第一象限的数是有效点(即x>0, y>0的坐标),问这么多点中有效点有多少个?从键盘上输入k 和n ,从第一问中的有效点中找出距离小于n ,距离小于n 的点的个数要大于k,将它们以文本格式输出到文件中.程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>typedef struct{int x;int y;} Coordinate;Coordinate point;double distance(const Coordinate*a, const Coordinate*b){int val= (a->x-b->x) * (a->x-b->x) +(a->y-b->y) * (a->y-b->y);return sqrt((double) val);}void swap(Coordinate*a, Coordinate*b){Coordinate temp=*a;*a=*b;*b=temp;}int compare(const Coordinate*a, const Coordinate*b){double dista=distance(a, &point);double distb=distance(b, &point);if (dista<distb)return-1;if (dista>distb)return1;elsereturn0;}void selection_sort(Coordinate*ptr, int begin, int end){for (int i=begin; i<end; i++)for (int j=i+1; j<end; j++)if (compare(&ptr[i], &ptr[j]) >0)swap(&ptr[i], &ptr[j]);}void display(Coordinate*ptr, int count){for (int i=0; i<count; i++)printf("(%2d, %2d) ", ptr[i].x, ptr[i].y);printf("\n");}int main(void){FILE*fp;Coordinate*xy;int*num;int count, coord_count;fp=fopen("org.dat", "wb");num= (int*) malloc(sizeof(int) *128);srand(time(NULL));for (int i=0; i<128; i++)num[i] =rand() %128-64;fwrite(num, sizeof(int), 128, fp);free(num);fclose(fp);fp=fopen("org.dat", "rb");fseek(fp, 0, SEEK_END);count=ftell(fp) /sizeof(int);coord_count=count/2;num= (int*) malloc(sizeof(int) *count);xy= (Coordinate*) malloc(sizeof(Coordinate) *coord_count);输出:rewind(fp);fread(num, sizeof(int), count, fp); fclose(fp);int valid=0;fp=fopen("output.txt", "w");for (int i=0; i<count; i+=2){if (num[i] >0&&num[i+1] >0){xy[valid].x=num[i];xy[valid].y=num[i+1];valid++;}}printf("valid points:\n");display(xy, valid);printf("total: %d\n", valid);int k, n, pivot;printf("k = ");scanf("%d", &k);printf("n = ");scanf("%d", &n);pivot=0;while (pivot<valid){point.x=xy[pivot].x;point.y=xy[pivot].y;pivot++;selection_sort(xy, pivot, valid);printf("the points with a distance of less than %d to (%2d, %2d) are:\n", n, point.x, point.y);if (distance(&xy[pivot+k], &point) < (double)n){while (pivot<valid&&distance(&xy[pivot], &point) < (double)n){printf("(%2d, %2d) %7.2f\n", xy[pivot].x, xy[pivot].y, distance(&xy[pivot],&point));fprintf(fp, "(%2d, %2d) %7.2f\n", xy[pivot].x, xy[pivot].y, distance(&xy[pivot], &point));pivot++;}}}fclose(fp);}valid points:2016年复试上机题要求:文本文件input.txt 由若干英文单词和分隔符(空格,回车,换行)构成. 根据如下说明编写程序统计不同单词出现的次数(频度). 将统计结果按出现频度从高到低排序,并将出现频度大于5的单词及其频度输出到文件output.txt 中. 文件格式如图所示多个连续的分隔符被视为一个分隔符.大小写敏感. 每个单词的长度不超过20个字符.单词的数量未知. 如使用定义静态大数组的方式来统计,将被扣除5分.(11, 2) (26, 6) (24, 19) ( 8, 50) ( 2, 18) (60, 32) ( 4, 7) (50, 21) (21, 6) (34, 37) (30,40) ( 5, 16) (31, 59) (60, 34) (18, 32)total: 15k = 3n = 30the points with a distance of less than 30 to (11, 2) are:( 4, 7) 8.60(21, 6) 10.77( 5, 16) 15.23(26, 6) 15.52( 2, 18) 18.36(24, 19) 21.40the points with a distance of less than 30 to (18, 32) are:(30, 40) 14.42(34, 37) 16.76( 8, 50) 20.59(31, 59) 29.97the points with a distance of less than 30 to (50, 21) are:the points with a distance of less than 30 to (60, 32) are:the points with a distance of less than 30 to (60, 34) are:程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct Word{int freq;char str[20];} Word;int compare(const Word*lhs, const Word*rhs){if (lhs->freq>rhs->freq) return-1;else if (lhs->freq<rhs->freq) return1;else return0;}void swap(Word*e1, Word*e2){Word tmp=*e1;*e1=*e2;*e2=tmp;}void insertion_sort(Word*ptr, int count){for (int i=1; i<count; i++){int j=i;Word ref=ptr[i];while (j>0&&compare(&ptr[j-1], &ref) >0) {ptr[j] =ptr[j-1];j--;}ptr[j] =ref;}}int find(Word*words, int count, char*str){int i;for (i=0; i<count; i++)if (strcmp(words[i].str, str) ==0)break;return i;}int main(void){FILE*fpr=fopen("input.txt", "r");FILE*fpw=fopen("output.txt", "w");Word*words;char buf[20];int count=0;while (fscanf(fpr, "%s", buf) !=EOF)count++;words= (Word*) malloc(sizeof(Word)*count);rewind(fpr);count=0;while (fscanf(fpr, "%s", buf) !=EOF){int i=find(words, count, buf);if (i==count){strcpy(words[count].str, buf);words[count].freq=0;count++;}words[i].freq++;}insertion_sort(words, count);for (int i=0; i<count&&words[i].freq>5; i++) {fprintf(fpw, "%s %d\n", words[i].str, words[i].freq);printf("%s %d\n", words[i].str, words[i].freq);}free(words);fclose(fpr);fclose(fpw);}输出:that 13The 11It 9to 8we 8here 8a 7and 62017年复试上机题要求:已知:二进制数据文件data.bin中存放了若干个整数,请编写程序完成如下功能:编写程序读取所有数据.以每相邻两个整数为一对按顺序构成二维平面上的坐标点. 例如:有数据12,34,53,25,61,28,78等,则构成六个坐标点如下:(12, 34)、(34, 53),(53, 25), (25, 61), (61, 28), (28,78);以每个坐标点为圆心,以该点与其后面第一个点的欧氏距离为半径r. 计算每个圆包含的坐标点数. 计算最后一个点时以其和第一个点的欧氏距离为半径.例如:坐标点(12, 34)的圆半径$r=\sqrt{(12-34)^2+(34-53)^2}$是坐标点(12, 34)与(34, 53)的欧式距离.坐标点(28, 78)的圆半径$r=\sqrt{(28-12)^2+(78-34)^2}$是坐标点(28, 78)与(12, 34)的欧式距离.计算所有圆的点密度值,然后输出点密度值最大的5个坐标点以及相应圆中包含的点数和点密度值. 输出格式要求:坐标点包含点数点密度(x坐标,y坐标)(占5列,右对齐)(占7列,右对齐,保留2位小数)上述文字部分不需要显示.其中:圆的点密度为圆包含的点数除以圆面积,如果点在圆上,则也算圆包含该点,在计算点密度时,圆心也算一个点. 计算圆面积时$\pi=3.14$. 例如:坐标点(2, 1),则该坐标点也属该坐标点的圆内的一个点.程序:#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#define PI 3.14typedef struct{int x;int y;} Coordinate;typedef struct{double r;Coordinate point;int points_num;double density;} Circle;static int compare(const Circle*a, const Circle*b){if (a->density>b->density) return-1;else if (a->density<b->density) return1;else return0;。

相关文档
最新文档