|
程序设计训练的说明
1) 每个学生必做四个实验,其中实验一和实验二是必做题,余下六个实验中任意选做二个;
2) 要求每个学生独立完成,发现雷同,作“0”分处理;
3) 程序要求有必要的注释语句;
4) 按《程序设计训练报告模板》要求填写五个实验的实验报告,并打印出来;
5) 每个学生以学号+姓名建立一个文件夹,文件夹包括五个实验的原程序和程序设计训练报告电子版。最后以班级刻光盘;
6) 检查时间:6月26日~7月5日到计算机中心机房检查;
7) 提交的资料:程序设计训练报告、原程序光盘
8) 评分方法:
l 程序设计训练报告 30分;
l 程序设计 40分;
l 回答问题 30分;
综合实验一
设计一个通讯录管理程序。
该程序实现如下的子功能:
①输入记录enter()
②显示所有记录list()
③查找记录search()和find()
④删除记录delete()
⑤保存记录到文件save()
⑥从文件中读取记录load()
⑦按序号显示记录display()
⑧按姓名排序sort()
⑨快速查找记录qseek()
⑩复制文件copy()
要求:1)设计菜单选择;
2)要用文件来实现;
综合实验二
跳水比赛中运动员每完成一个跳水动作,都有J名裁判员为其打分,但每次
总成绩中都要去掉一个最高分和一个最低分。每个运动员需要完成C个动作。每
次动作结束都要按当前总成绩为全部运动员重新排序并显示该结果。设总共有N个
运动员参加比赛,其编号为1,2,… N。 编一个程序实现这一功能。
要求:
1.建立一个*head为头结点的单链表;
2.程序以动作C为外循环,运动员N为内循环。在内循环中,完成对单链表
按结点sum域(累计分)从小到大的排序;
3、在外循环,每次输出该单链表的所有结点。
综合实验三
1. 有一长为29寸,只有7条刻度,其余的刻度均已不存在的尺子,但是刻尺仍可一次性度量出1——29之间的任意整数寸长的长度。设计一个程序,确定尺子上的刻度的位置;并把本源程序代码和运行结果输出到一个名为data.txt的文本文件中。注:输出的结果为尺的形式,其中的白线为程序所输出的边框。如:
综合实验四
编写一个程序对某电码文(原文)进行加密并形成密码文。其加密算法如下:
假定原文为C1C2C3…Cn,加密后产生的密文为S1S2S3…Sn,首先读入正整数
key(key>1)作为加密钥匙,并将密文字符位置按顺时针方向连成一个环。
加密时从S1位置起顺时针计数,当数到第key个字符位置时,将原文中的
字符C1 放入到该密文字符位置中,同时从环中除去该字符位置(出排)。接
着,从环中下一个字符位置起继续计数,当再次数到第key个字符位置时,将
原文中的字符C2放入其中,并从环中除去该字符位置(出排),依此类推,直
到n个原文字符全部放入密文环中。由此产生S1S2S3…Sn,即为原文的密文。
本程序的一次执行结果如下:
输入加密电文: this is an decoding system 输入加密钥匙: 3 电文的蜜码是: aotgnhedi ys d imietsnc ss
要求:
1、 将电码文放字符数组cn中,加密钥匙放整型变量key中, 密码文放字符
数组sn中
2、 要求用结构体构建一环形单链表,即密文环
综合实验五
打开一个C语言源程序,利用readdat()函数实现按行读取源文件中的内容,而函数handle()实现以行为单位把字符串中所有小写字母o左边的字符串的内容移到该串的右边存放,右移时以该原串结尾字符为标志。然后把小写字母o删除,余下的字符内容移到已处理字符串的左边存放,继续处理。
然后把已处理的字符串存入字符串数组xx中,最后调用函数writedat()把结果输出到文件myfile.dat中。
清屏后,将源文件及目标文件的内容按行对比输出,要求格式清晰。
要求:main()函数带参。源文件与目标文件作为参数。
综合实验六
编写程序,从键盘输入某宿舍楼6家住户某月的水电消耗量及水费和电费标准,计算各户应交纳的水费和电费。
数据及要求如下:
a.水费标准为:1.5元/吨,电费标准为:0.5元,6户人家的信息如下表:
住户地址 水耗(吨) 电耗(度)
101 5 150
201 4 90
301 4 120
401 3 78
501 5 60
601 6 105
将表中信息按下面格式组织在文件input.dat中:
1.5 0.5
101 5 150
102 4 90
103 4 120
104 3 78
105 5 60
106 6 105
要求程序从文件input.dat中读取上述数据。
b.分别计算每户应交纳的电费、水费以及电费水费的总和。
c.汇总全部住户水费、电费的总和。
d.将计算结果按下面格式写入文件charge.dat中。表格线不必输出,如果实验环境不支持中文,第一行内容可使用英文或拼音码表示。
综合实验七
编写一个程序可以分页打印ASCII码文件并加上行号。
要求:
① 文本文件可以是本程序,也可是另外建立的文本文件;
② 判断每一行不能超过99个字符,每10行为一页,同时要加行号和页号;
③ 分页的结果在屏幕上显示,显示一页清屏一次;
④ 主函数带参数;
综合实验八
设A是含有m个元素的整型数组(m≥1),编程求A中m个整数的平均值。
基本要求:
以函数调用方式编程,在被调函数avg(int A[],int n)中使用递归算法,求A中n个整数的平均值。
→设f(i)为A[0]、 A[1]、…、A这i+1个元素的平均值,则对应的递归模型如下:
f(0) = A[0]
f(i) = ( A + f(i-1)×i)/(i+1) i>0
其中f(i-1)为A[0]、 A[1]、…、A[i-1]这i个元素的平均值。 |
|