上机实习指导书C语言V43Word格式文档下载.docx
- 文档编号:19818301
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:18
- 大小:53.53KB
上机实习指导书C语言V43Word格式文档下载.docx
《上机实习指导书C语言V43Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《上机实习指导书C语言V43Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
2、每班分若干组、每组最多5人,每小组中组员的难度为“H”的题目至少一道,各小组间难度为“H”的题目至少有一道不与任何其他小组重复。
南京邮电大学仙林公共机房微机
编程
26~30
结果正确,程序健壮,代码可读性强,界面美观友好,易操作。
计算机Internet
交流及汇报
4
陈述课题的成果和心得,并解答其他同学的疑问。
计算机Internet
书写软件报告文档
4~8
主要包含如下几个部分:
1、问题分析。
2、设计方案。
3、流程图。
4、测试数据、测试结果、结果分析。
5、相关运行界面。
6、源代码
*注:
对于选题和分组,其操作流程如下:
1、同学们根据自己的兴趣、爱好,选择自己想做的题目。
2、一旦选好以后,就到班长那里登记。
3、班长按照先来先登记的方式依次进行分组。
例如,将先来的同学分到第一组,就这样依次分下去。
4、对于每个小组所选择难度为“H”题目,如果发现重复,则需要重新选择。
5、以上的组织形式应该安照班级和学生的具体情况做灵活的调整。
三、考核方式及成绩评定方法
本课程考核由平时考核、软件验收、程序设计(上机)报告三部分组成。
其中,平时考核占总成绩的10%,软件验收占总成绩的40%,设计报告占总成绩的50%。
注:
如有以下情况,视为抄袭:
Ø
与已验收的程序明显雷同;
面试时不能解释程序中的某些基本功能,或对所写程序一无所知。
四、推荐教材与参考书
教材:
[1]秦军.程序设计(C语言).北京:
机械工业出版社,2007
[2]吴伟敏.程序设计(上机)指导书.南京:
南京邮电大学自编教材,2006
[3]胡友彬等.计算机应用基础教程[M].北京:
科学出版社,2000
参考书:
[1]张福炎.大学计算机信息技术教程[M].南京:
南京大学出版社,2003
[2]谭浩强.C程序设计(第二版).北京:
清华大学出版社,2004
[3](美)BrianW.Kernighan、DennisM.Ritchie.C程序设计语言(第二版).徐宝文、李志译.北京:
机械工业出版社,2003
[4]苏小红等.C语言大学实用教程(第二版)[M].北京:
电子工业出版社,2007
五、上机实习题目
1算法实现
题目编号
内容要求
难度
R001E
输入1~20的整数n,把从1到n的n个整数摆成一个环,使得该环上任意相邻的两个数之和为素数。
求出所有可能组合。
E
R002M
求第1500个只有2,3,5因子的数。
数是从小到大排列,第一个数是1,1=2^0*3^0*5^0。
M
R003E
编写一个程序,能够根据用户要求输出相应阶次的杨辉三角。
R004E
一个人带着一只羊,一条狼和一颗白菜想过河,假设他每次只能带一只羊,或者一条狼,或者一颗白菜过河,并限定人不在场时,狼和羊,或羊和白菜不能单独在一起,试编写程序求出他带一只羊,一条狼和一颗白菜过河的办法。
R005H
一辆重型卡车欲通过1000公里的沙漠,卡车耗油量为1公升/公里,卡车总载油量为500公升,显然卡车装一次油是通过不了沙漠的。
因此司机必须在沿途设立几个储油点,使卡车能顺利通过沙漠。
试问司机如何建这些储油点?
每个储油点应该储多少升油?
才能使用卡车以最小耗油量的代价通过沙漠?
H
R006E
有一对小老鼠,出生一周后长成一对大老鼠,两周后出生第一对小老鼠,自己变成一对大老鼠,上周的小老鼠变成了大老鼠,此时共有三对老鼠。
试编制程序,计算N周后有多少对老鼠?
R007E
某级数的前两项A1=1,A2=1,以后各项具有如下的关系:
。
下列程序的功能是:
要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:
且
,这里
,并依次把n值存入数值单元b[0],b[1],b[2]中,请编制jsValue()函数来实现此功能,最后调用函数WriteDat()把数组b[]中的值输出到out.Dat文件中。
R008M
函数ReadDat()的功能是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。
请编制函数jsSort(),该函数的功能是:
以行为单位对字符串按下面的给定条件进行排序,排序后的结果仍按下面的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果输出到文件out.Dat中。
条件:
从字符串中间一分为二,左边部分按字符的ASCII值降序排序,排序后,左边部分与右边部分按例子所示进行交换。
如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。
R009M
200个学生不按身高任意排成10行﹑20列的长方形队列。
在每一列中选出一个最矮者(如这样人有几个,可任选其中一个)。
然后在所选的20个矮人中挑出最高者一人,叫做“矮人中的高个子”。
然后,令这20个矮人各回原位。
再在每一行中选出一个最高者,又从这10个高人中挑出最矮者一人,叫“高个子中的矮子”。
请问“矮人中的高个子”和“高个子中的矮子”这二人中哪个高?
R010E
将一个正整数n(长整型)输出成“千分位”形式,即从个位数起,每三位之间加一个逗号,例如,将7654321输出成7,654,321。
R011M
编写一个子程序NewTon(floatx0,floateps,floatx1)。
它的功能是用牛顿迭代法求
f(x)=
在x=0附近的一个实根。
牛顿迭代公式为:
迭代收敛判据为:
(eps为指定的迭代精度,例如1e-6)。
若迭代成功,则返回非零值;
否则,返回0。
R012E
编程实现从三个红球﹑五个白球﹑六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
R013E
寻找并输出11~999之间的整数
,满足
均为回文数,所谓回文数即各位数字左右对称的数,如
皆为回文数。
R014H
输入N个点的坐标,判断这N个点能否构成一个凸多边形。
R015M
给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中。
R016E
在一行字符串中删去指定的字符。
例如,要求在一行文字:
“Ihave50Yuan.”中,删去字符“0”,使其变为“Ihave5Yuan.”。
R017E
3位正整数中,既是完全平方数,又有两位数相同,如144,676等,找出所有这样的数。
R018M
设计一个支持矩阵加减乘运算的程序
R019M
输入一个自然数n,求
,同时统计结果中有多少个0。
R020E
实现用于计算素数的算法。
假定我们要找出小于10的所有素数,其中共有2,3,4,5,6,7,8,9,10九个数,然后取走最小的数2并声明它就素数,然后筛掉2的倍数。
重复上面的步骤直到空筛时,就可选出所有素数。
R021E
排序算法。
要求在界面上显示包括原始数据(如以10个数据为例),排序过程以及排序后数据。
R022H
由n2个方块排成n行n列的正方形称为“n元棋盘”。
如果两个皇后位于n元棋盘上的同一行或同一列或同一对角线上,则称它们为互相攻击。
要求输出使n无棋盘上的n个皇后互不攻击的所有布局。
具体要求如下;
(1)n可由键盘输入。
(2)在输入n后,动态建立方法说明中所需要建立的数组空间;
程序运行结束时释放该
存储空间。
(3)分别用n=4,5,6运行你的程序。
R023E
排序,要求:
(1)输入任意一串字母或数字。
(2)用选择法和冒泡法分别对
(1)进行降幂排序。
(3)比较这两种排序方法所用的时间。
(4)具有输入输出界面。
R024M
设有n个人围坐在圆桌周围,从某个位置开始用自然数进行编号为1,2,…,n。
然后从编号为k的人从1开始报数,数到m的人便出列;
下一个人(第m十1个)又从1开始报数,数到m的人便是第二个出列的人。
如此继续下去,直到最后一个人出列为止。
要求输出这个出列的顺序。
这个问题称为雅瑟夫(Josephu)问题。
具体要求如下:
(1)n、m、k由键盘输入,输入前要有提示。
(3)分别用n=8,m=4,k=1以及n=10,m=12,k=4调试运行你的程序。
2文本字符串处理
W001E
输入字符串s,将s中的前导空格和尾随空格删去,中间连续多个空格缩减为一个空格。
W002E
实现txt文件中的查找与替换功能
W003E
编制程序实现字符串的逆转功能。
要求具有友好的输入、输出界面。
如输入Thisisatest输出tsetasisihT
W004E
字母统计
要求:
(1)输入任意一段英文。
(2)统计
(1)中各字母出现的概率。
(3)具有输入输出界面,并对输入的数字和其他符号给予提示。
W005E
单词统计
(2)根据
(1)中各单词出现概率的高低输出前五个单词。
(3)具有输入输出界面
W006M
编写一个小程序,可以读入一个英文的文本文件,显示这个文件,并统计这个文件有多少个字符,多少个单词,多少个空白(空格、TAB),多少个段落,按照单词的长度进行统计。
W007H
编写一个小程序,能够实现将一个很长的英文行折成两行或者更多的行。
要求能够在指定的列前换行,也可以在界面的边界换行。
注意程序应当比较智能,如考虑在一个单词很长,或者在指定的列前面没有空白等特殊情况。
尽可能的考虑较多的异常情况。
具体功能参照Word的自动换行功能。
W008M
编程实现一个字数统计工具。
要求可以直接在程序的文字区域输入文字,然后开始统计相关字数,也可以将要统计的文本粘贴到该程序中,然后进行统计。
点击“开始统计”按钮,对应文本的字母字数和汉字字数就可以在程序窗口中的编辑框中显示出来。
3常用程序设计
P001E
已知在文件IN.DAT中存有100个产品的销售记录,每个产品记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)几部分组成。
其中:
金额=单价×
数量可计算出。
函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。
请编制SortDat(),其功能要求:
按金额从大到小进行排列,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。
P002M
在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()的功能是读取这200个数并存放到数组aa中。
请编制函数jsSort(),该功能是:
要求按每个数的后三位的大小进行升序排列,将排序后的前10个数存入数组aa中。
如果数组bb中出现后三位相等的数值,则对这些数值按原始4位数据进行降序排列。
最后调用函数WriteDat()把结果bb输出到文件OUT.DAT中
P003M
已知在文件IN.DAT中存在若干个(个数〈200〉四位数字的正整数,函数ReadDat()的功能是读取这若干个正整数并存入数组xx中。
请编制函数CalValue(),其功能要求:
(1)求出这文件中共有多少个正整数totNum;
(2)求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,把所有的结果输出到文件OUT.DAT中。
P004E
输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位
P005H
输入任意四个整数(0到10),运算符只有加减乘除,还有括号.每个数只能且必须用一次。
要求判断这些表达的结果中是否有24。
如果有,输出计算表达式:
如输入4,6,1,1输出4*6*1*1=24(允许有括号)。
P006E
文件拷贝,实现命令行式的COPY功能。
P007M
编制不同数制间的转换程序。
要求提供输入输出界面,当输完一个任意十进制数字,程序能自动将其转化为另外的数制表示的值,包括二进制、八进制和十六进制,其中转化用算法实现,而不是用printf函数显示。
P008E
分数统计
(1)输入某班级学生的姓名、分数;
(2)对
(1)的分数进行排序,按分数从大到小输出;
P009E
文本编辑器
(1)编辑文本;
(2)保存、打开指定位置的文本文件;
P010M
解方程
(1)用牛顿法求解下列方程在
附近的根(
);
(2)改变初始值、误差后重新求解。
P011M
产生随机数
要求:
(1)满足均匀分布的[M,N]区间随机数,其中M,N是正整数。
(2)满足指数分布的[M,N]区间随机数,其中M,N是正整数。
P012H
编写程序,查找c程序中的基本语法错误,如圆括号、方括号、
花括号的不匹配;
如单引号和双引号等。
要求能够显示错误信息,
并给出错误行数。
注意尽可能的考虑软件的通用性。
P013M
编写一个程序,读入一个c程序,按照字母表的顺序分组打印变
量名字。
字符串和注释中的单词不考虑。
P014M
设计一个程序,统计一个班(最多有35人)的学生成绩,要求能实现如下四个功能:
(1)由键盘输入每个学生的学号和四门课程的成绩。
(2)计算每个学生的平均分和总分。
(3)按总分从高到低排出名次,并按名次输出每个学生的情况,包括学号、各科成绩、平均分和总分。
(4)根据用户要求输出某门课程(由键盘输入课程号)成绩在90分以上(含90分)且总分在前五名的学生情况,包括:
学号、各科成绩、平均分和总分。
具体要求如下:
(1)每个功能为一个独立的函数。
(2)所有的输入之前都要有提示。
4.链表设计
L001M
利用循环链表表示大整数
链表的头结点值为-1,其余结点依次存放数据,各结点最多存放四位整数。
如下表示233238766
_______________________________________________________________________________________________________________________________
L002H
在利用上述数据结构完成大整数的表示后,实现两个大数的加法、减法运算(两个链表表示操作数)。
L003H
一元多项式简单的计算
1主要功能:
(1)输入并建立多项式;
(2)输出多项式;
(3)两个多项式相加,建立并输出和多项式;
(4)两个多项式相减,建立并输出差多项式。
实现提示:
可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。
2.要求:
一元多项式简单计算的基本功能
L004M
双向链表的排序。
输入一个双向链表,显示些双向链表并对此双向链表排序
难易度:
H/M/E难/中/易
六、程序设计(上机)报告格式及要求
1.问题描述:
课题要求及总体功能描述
2.课题分析:
功能模块分解或结构图
3.数据结构的设计:
对所使用的数据分析及说明
4.处理结构的设计:
流程图及相关说明
5.源程序:
重要的代码及其说明
6.调试记录:
程序编制过程中碰到的问题及解决方法
7.软件说明:
软件的功能、界面和使用方法的详细介绍
8.附录:
未尽事宜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 实习 指导书 语言 V43