




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计任务书一、 性质与目的:本课程设计是学生学习完C语言程序设计课程后进行的一次全面的综合练习。本课程设计的目的和任务:(1)巩固和加深学生对C语言课程的基本知识的理解和掌握;(2)掌握C语言编程和程序调试的基本技能;(3)利用C语言进行简单软件设计的基本思路和方法;(4)提高运用C语言解决实际问题的能力。通过实习,加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力;同时通过查询资料,培养学生自学、接受新知识能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,培养学生实际上机调试能力。二、 基本要求: 1、选题规定2、设计结束后,要求每个学生上交一份打印的实习报告。3、设计期间,学生要服从指导教师统一安排,遵守机房制度。4、严格遵守纪律,不迟到,不早退。对于无故缺勤者,成绩按不及格处理。三、 设计内容:题目见后边附录四、 课程设计的成绩评定a) 实习期间的平时表现;b) 设计任务的考核成绩;c) 设计报告的批阅成绩。根据以上的成绩由指导教师进行综合评定,成绩分优、良、中、及格和不及格五个等级。五、 实习进程实习为期一周,共22学时,周一至周四每天利用半天时间查阅资料,另外半天到计算机房调试程序(上机的具体时间遵照机房的安排),周五对所设计的软件进行上机考核验收,考核合格者书写设计报告(电子版和打印版),下周一交给指导教师。六、 设计报告格式首先是 封面(如下图)其次是 目录(要求根据报告内容自动生成)一、 设计思路二、 程序流程图三、 源程序清单四、 程序运行结果五、 设计总结六、 教师评语(学生不要填写)然后是 根据目录而写的具体内容附录:(一)基础部分:1. 输入一个五位整数,将它反向输出。例如输入12345,输出应为54321。(15分)2. 用两种循环结构分别编程计算1+2+3+100的值。运行结果为“1+2+100=5050”(15分)3. 从终端读入20个数据到数组中,统计其中正数的个数,并计算它们之和。(15分)4. 利用指针实现将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各单元的值。(20分)5. 要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,要求换成30张小钞票,每种面值的至少一张,编程输出所有可能的换法,程序应适当考虑减少重复次数。(25分)6. 求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。例如若n为1000时,函数值应为:s=153.909064。(30分)7用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。N个整数在主函数中输入。最后在主函数中输出。8编写密码加密和解密函数,对一个明码串,根据其ASC码值在反转ASC码表ASC(255)、ASC(254)、ASC(253)、ASC(0)中对应位置进行加密或解密。如明密“abf1243”,其ASC码分别是97、98、99、49、50、51、52,根据反转ASC码表,将其转换成ASC码是255-97、255-98、255-99、255-49、255-50、255-51、255-52的密码串。9求矩阵a、b乘积,结果存入矩阵c中并按矩阵形式输出。 矩阵相乘的前提:矩阵A(mp)的列数p=矩阵B(pn)。即:C(mn)=AB 要求a11 a12 a1pa21 a22 a2pan1 an2 anp A=b11 b12 b1nb21 b22 b2nbp1 bp2 bpn B= c11 c12 c1nc21 c22 c2ncm1 cm2 amn C=其计算公式是: (i=1,2,m j=1,2,n)10编写一个将某个范围在-3276832767之间的整数转换为R进制(R=2,8,16)的通用程序。要求程序首先选择转换的进制(二B/B,十六H/h,八O/o),然后输入要转换的数,键入q时退出。要求只编写无符号整数的转换的程序。11要求设计者在屏幕上打印出杨辉三角形。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 112找出1000内回文素数:对一整数n,从左向右和从右向左读其结果值相同且是素数。13设计程序将两个递增有序的数组合并为一个递增有序的数组。14、编写一个程序,让它有以下功能:从键盘上输入一个五位数,对此整数中的五个数值进行从大到小排序,形成一个新的五位数,输出这个整数。15、输入年、月、日,输出该日期是该年的第几天。16、利用数组实现数据的存储。将学生的学号和成绩存储在数组中,利用循环计算出数组中存储学生的平均成绩,找出高于平均分的学生信息并输出。17、输入五个国家的名字,按字母顺序(即按ASCII码从小到大的顺序)排列输出。18、用指针实现:任意输入20个数,将它们按照从大到小的顺序输出。19、编程完成数据加密。数据是五位的整数,加密规则为:每位数字都加上6,然后用和除以8的余数代替该数字,再将第一位和第五位交换,第二位和第四位交换。20、请猜数字,该数字由系统随即产生。要求:用户最多有10次猜测的机会,如果在10次内猜对数字,则程序显示祝贺信息,如果连续10次都没有猜中数字,则游戏自动退出。(提示:可能用到以下库函数:randomize();用系统的时间作为随机种子;包含于stdlib.h库中random(100):随机产生0-99之间的一个随机数;包含于stdlib.h库中toupper():将字符c转换为大写英文字母,包含于ctype.h库中)21、有一个34的矩阵,要求编写程序找出每一行中最大值并与第一列交换。22、输入五个字符串,要求按照字母顺序(即按ASCII码从小到大的顺序)输出这五个字符串。23、用指针实现:把一个整数插入到由小到大排列的数列中,插入后仍然保持由小到大的顺序。24、编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。 a12 b8 c5 12 0 0 * * * ( “*”表示当前状态下每个容器的盛水量) 0 6 625、编程实现:有二维数组a33=5.4,3.2,8,6,4,3.3,7,3,1.3,将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a00,第2行同除以a11,.),按行输出新数组。26、 编程:设x取值为区间1,20的整数,求函数f(x)=x-sin(x)- cos(x)的最大值,要求使用自定义函数实现f(x)功能。27、 编写函数fun,通过指针实现将一个字符串反向。要求主函数输入字符串,通过调用函数fun实现输入字符串反向。28、 已知学生三门课程基本信息如下。请使用结构体编程,计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并按平均分排序。 姓名 数学 英语 计算机 Mary 93 100 88 Jone 82 90 90 Peter 91 76 71 Rose 100 80 92 29、编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁,鸡母,鸡雏各几何? 30、 编程实现:有二维数组a33=1.3,2.7,3.6,2,3,4.7,3,4,1.27,将数组a的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。31、 编程:设x、y取值为区间1,10的整数, f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小值的x1、y1,要求使用自定义函数实现f(x,y)功能。32、 编写函数fun,其功能是:在字符串中所有数字字符前加一个“*”字符,要求通过指针实现。33、 编程:已知学生记录由学号和学习成绩构成,N名学生的记录已存入结构体数组中,找出成绩最低的学生,并输出这个学生的信息,已知学生信息如下。A01,81;A02,89;A03,66;A04,87;A05,77A06,90;A07,79;A08,61;A09,80;A10,7134、 编程解决如下问题。请在整数n=742683613984中删除8个数字,使得余下的数字按原次序组成的新数最小。要求如下:(1)整数n和删除数字的个数“8”在源程序中完成赋值,程序直接输出运行结果;(2)程序结果输出先后被删除的数字(之间以逗号分隔)和删除后所得的最小数。(提示:整数n可以以字符数组的方式定义、赋值和处理)35、 编程解决如下问题有一个数学等式:ABCD*E= DCBA,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。36、 编程解决如下问题请在整数n=92081346718538中删除10个数字,使得余下的数字按原次序组成的新数最大。要求如下:(1)整数n和删除数字的个数“10”在源程序中完成赋值,程序直接输出运行结果;(2)程序结果输出先后被删除的数字(之间以逗号分隔)和删除后所得的最大数。(提示:整数n可以以字符数组的方式定义、赋值和处理)(二)中等难度部分:1、编写一个函数InverseByWord(char *sentence),实现一个英文句子按单词逆序存放的功能,并给出测试程序。如:This is an interesting programme. 逆序后变为:.programme interesting an is This2、 编程实现输入一串英文,统计其中各单词出现的个数(不区分大小写字母),以“000”作为字符串输入结束标志,例如: Twinkle twinkle little star 000(回车) twinkle little star 2 1 1 3、编写一个简单的通讯录管理系统。通讯录包括:姓名、通讯地址、邮编、联系电话,现编写一个通讯录管理系统,可以对通讯录进行输入、显示、查找,通讯录保存到一个文件中。(50分)(提示:可能用到以下库函数:malloc(),功能:分配size字节的存储区,用法:(类型 *)malloc(size *sizeof(你要定义的类型);包含于库中feof(),功能:检测文件是否结束用法: int feof(fp) FILE *fp;包含于库中。)4、编写一个简单的通讯录管理系统。通讯录包括:姓名、通讯地址、邮编、联系电话,现编写一个通讯录管理系统,可以对通讯录进行输入、显示、查找等,通讯录保存到一个文件中。(提示:可能用到以下库函数:malloc(),功能:分配size字节的存储区,用法:(类型 *)malloc(size *sizeof(你要定义的类型);包含于库中feof(),功能:检测文件是否结束用法: int feof(fp) FILE *fp;包含于库中。)5、编程解决如下问题 (1)已知平面上三个点:(7,1)、(4,6)、(5,8),判断这三点组成的三角形是何种三角形(锐角,直角,钝角)(10分);(2)对(1)问中的三角形,给出它的外接圆半径(20分);(3)已知平面上6个点的坐标为:(7,1)、(4,6)、(5,8)、(6,2)、(3,9)、(2,7),试求覆盖这6个点的覆盖圆最小半径(20分)。(要求:点坐标数据在程序初始化中赋值完成,程序运行后直接输出结果,不进行数据输入;点坐标数据和题目要求完全一致,否则导致的结果不正确视为程序编写错误。)6、编程解决如下问题在小于10的素数中有3、5、7组成的等差数列,在小于30的素数中有11、17、23、29组成的等差数列。试找出区间100,1000内的素数构成的最大等差数列(即等差数列包含的素数个数最多)并打印输出。(三)拔高部分:1、现有21根火柴,两人轮流取,每人每次可取走1- 4根,不可多取,也不能不取,谁取最后一根火柴则谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;计算机一方为“常胜将军”。要求程序运行效果如下图。2、编程完成商人过河游戏:有三个商人带着三个随从和货物过河,船每次最多只能载两个人,由他们自己划行,并且如何乘船渡河的大权由商人掌握。要求保证在过河期间的任一岸上商人的人数要大于或等于随从的人数,否则随从会杀死商人抢走货物。设计一个符合上述要求的商人过河的游戏。要求程序运行效果如下图。(1)有游戏规则提示,按任意键开始游戏,按“Q”键退出游戏;(2)程序开始,分别提示每次从河岸这边到那边、从河岸那边到这边的商人和随从人数;(3)如果输入错误(如一次输入的人数不得超过2个、过河的人数不得超过2个),则提示错误并且按任意键重新开始游戏; (4)当任一河岸的商人数小于随从数时,提示商人被杀,按任意键继续游戏; (5)当游戏成功时提示游戏成功,按任意键结束游戏。(注:程序可能用到的库函数及函数如下:#include void window(int left, int top, intright, int bottom); 定义活动文本模式窗口,例如:window(1,1,25,80);void textbackground(int color); 选择新的文本背景颜色(蓝颜色的值为LIGHTBLUE);void textcolor(int color); 在文本模式中选择新的字符颜色(黄颜色的值为YELLOW);void gotoxy(int x, int y); 在文本窗口中设置光标(x和y的值分别为行列坐标)。)3、求解钢材切割的最佳订单。(1)描述:编写程序,从订单中选择一组订单对钢材作切割加工,使钢材得到最佳利用,约定每一次切割会损耗固定长度的钢材(约定该值为2)。已知线型钢材总长度、订单数和各订单需要的钢材长度;(2)输入:钢材总长度s、订单数n、各定单需要的钢材长度;(3)输出:可以使钢材得到最佳利用的订单号、该订单需要的钢材长度。例如:Please input total length of the steel s: 28(回车)Please input number of order n: 8(回车)Please input the orders : 5(回车)6(回车)7(回车)8(回车)9(回车)10(回车)12(回车)15(回车)屏幕输出: Choice one order 1 length=5 order 3 length=7 order 7 length=12Choice two order 2 length=6 order 4 length=8 order 6 length=10 Press any key to quit 4、产生无连续重复部分的字符串。(1)描述:编写程序,产生由1,2,3这3个数字符号所构成、长度为n的字符串,并且在字符串中对于任何一个子串而言,都不会有相邻的、完全相同的子串;(2)输入:字符串长度n;(3)输出:无相邻重复子串的所有字符串,每个字符串换行输出。例如:Please input string length n: 5 (回车)屏幕输出: 1312113123132125、求某正整数插入乘号后乘积的最大值。(1) 描述:编程实现在一个9位数的正整数n中插入4个乘号,使分得的5个整数的乘积最大;(2) 输入:正整数n;(3) 输出:被分得的5个整数、得到的最大乘积值。例如:Please input n:734019862 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家居企业安全培训课件
- DB6103T 67-2024 全株青贮玉米机械收获技术规范
- DB6103T 43-2023 全株玉米堆贮技术规范
- 急救药品应知应会题库(试题与答案)
- 第七届全国急救技能大赛(医生组)理论考试题库(含答案)
- 2025版《血液净化标准操作规程》感染SOP解读考试题(附答案)
- 安全培训的内容与形式课件
- 外墙抹灰涂料专项施工方案
- 2025年VTE考核试题(+答案)
- 人防工程方案批复(3篇)
- YS/T 320-2007锌精矿
- YS/T 226.12-2009硒化学分析方法第12部分:硒量的测定硫代硫酸钠容量法
- GB/T 24218.3-2010纺织品非织造布试验方法第3部分:断裂强力和断裂伸长率的测定(条样法)
- GB/T 10799-2008硬质泡沫塑料开孔和闭孔体积百分率的测定
- GA/T 1193-2014人身损害误工期、护理期、营养期评定规范
- 系统工程原理 - 国防科技大学信息系统与管理学院
- 博微配电网工程设计软件
- 当代世界社会主义现状课件
- 《给排水科学与工程概论》全套教学课件
- 电工考核评分表(月度)
- 教育科研:教师职业成长的阶梯课件
评论
0/150
提交评论