程序设计报告.docx
- 文档编号:9897558
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:12
- 大小:19.43KB
程序设计报告.docx
《程序设计报告.docx》由会员分享,可在线阅读,更多相关《程序设计报告.docx(12页珍藏版)》请在冰豆网上搜索。
程序设计报告
程序设计报告
篇一:
程序设计报告
要求每个小组做全本套题目
时限:
1s
【题目描述】
有一个字符集合,它只包含a-z这26个小写字母。
根据集合的定义,集合的容量是集合含有不同元素的个数。
由于该集合中包含了非常多的重复字母,因此让你编程计算下该集合的容量,也就是该集合包含了多少不相同的字母。
【输入】
有多组样例。
第一行为样例的个数T。
接下来T行,每一行代表一个样例。
这一行为一个字符串,表示一个集合。
规定以’{’开头,以’}’结束。
每个字符用’,’给开,逗号与逗号后的元素空出一个空格。
【输出】
每个集合的容量。
一个样例占一行。
【输入样例】
2
{a,b,c}
{a,b,a,b}
【输出样例】
3
2
B吉利数字
时限:
1s
【题目描述】
算卦大湿biboyouyun最近得出一个神奇的结论,如果一个数字,它的各个数位相加能够被10整除,那么称它为吉利数。
现在叫你计算某个区间内有多少个吉利数字。
【输入】
第一行为样例个数N。
接下来N行,每一行代表一个输入样例,每个输入样例有2个数,分别代表某个区间的起点a和终点b。
注意所求区间为[a,b],1=a=b=10
【输出】
N行。
对于第x个输入样例,在第x行输入该样例所对应的结果。
【输入样例】
2
110
120
【输出样例】
1
【Hint】1-10之内无幸运数,1-20内只有19这1个幸运数
C炸弹袭击
时限:
1s
【题目描述】
H族的领地是一片富饶之地,有丰富的资源,无数的黄金。
尽管异族侵略者被压制几百多年,他们并没有放弃对这片土地的渴望。
最近,他们研制了一枚重磅炸弹。
试图用它摧毁H族的防御工事。
H族的防御工事由多个基地构成,侵略者试图用炸弹摧毁尽量多的防御基地,现在,他们急需你的帮助。
如果你能为他们解决难题,会有巨大的奖励。
〔该炸弹的攻击范围是一个半径为r单位的圆〕
【输入】
第一行为样例的个数T。
每个样例中有假设干行,第一行为炸弹的攻击半径r,r有可能不是整数(1=r=100)
第二行是一个整数n,表示H族防御基地的个数(1=n=100)
接下来n行,每行有两个数,代表H族某个防御基地的坐标
【输出】
只有一个数,代表炸弹能最多摧毁的H族防御基地数量。
【输入样例】
1
1
3
10
01
40
【输出样例】
2
D.机器人
时限:
1s
【题目描述】
Paul有n个重物堆在一条线上。
该重物由1连续编号到n,最左边的物品编号为1,最右边的物品编号为n。
每个物品的重量,第i个物品的重量为Wi公斤。
Paul需要收集所有重物,但是他很懒。
因此他打算用他全新的机器人。
该机器人有两个不同的手臂-左手和右手,可以连续执行以下操作:
用左手拿最左边的重物,花费Wi·l能量单位〔Wi是最左边的物品的重量,l是某一参数〕。
如果与之前的动作是一样的〔上一次用左手〕,机器人须额外花费Ql的能量单位;
用右手拿最右边的重物,花费Wj·r能量单位〔Wj是最右边的物品的重量,r是某一参数〕。
如果与之前的动作是一样的〔上一次用右手〕,机器人须额外花费Qr的能量单位;
Paul想让机器人花费尽可能少的能量来帮他完成任务。
他想让你来解决这个问题。
你的任务是求解机器人收集所有重物可花费的最低能量值。
【输入】
第一行是一个数T,代表有T组输入样例
每个输入样例样例有两行:
第一行是五个变量n,?
l,?
r,?
Ql,?
Qr(1?
≤?
n?
≤?
105;?
1?
≤?
l,?
r?
≤?
100;?
1?
≤?
Ql,?
Qr?
≤?
104);第二行是n个重物的重量w1,w2….wn(1?
≤?
wi?
≤?
100)。
【输出】
每个样例只有1个数,代表机器人最小消耗的能量
【输入样例】
2
344191
42399
47239
1234
【输出样例】
576
34
篇二:
C++程序设计报告
课程名称:
C++课程设计
设计题目:
编写程序提示用户输入一个班级中的学生人数n,
再依次提示用户输入n个人在课程A中的考试成
绩,然后计算出平均值,显示出来。
要求用到第
九章中的数组类模板Array定义浮点型数组存储
考试成绩。
姓名:
石东梅
学号:
1108020222
专业班级:
网络1101班
完成日期:
20222年6月27日
1设计任务
编写程序提示用户输入一个班级中的学生人数n,再依次提示用户输入n个人在课程A中
点型数组存储考试成绩。
的考试成绩,然后计算出平均值,显示出来。
要求用到第九章中的数组类模板Array定义浮
1.1设计目的
〔1〕、加强C++课程学习,将课本上的理论知识运用于实践,通过实际的程序操作来提高
自己编写程序的能力,到达理论与实践相结合的目的。
〔2〕、培养自己动脑思考,动手操作的能力,在实际操作过程中体会C++中面向对象的思
想。
〔3〕、在实际的操作过程中去衡量自己理论知识掌握的程度,通过设计流程,编写程序,
上机调试去寻找并发现知识的缺陷,并想方法弥补。
〔4〕、在本程序中主要是要到达能对类的定义及用法,数组的定义及用法,数组类模版,
运算符重载,多文件结构,成员函数的实现等的熟练运用。
用数组类模板、析构函数、构造函数、赋值构造函数、运算符重载、指针等语法来完
成一个班级在某门课程中考试的平均值的程序。
设计指标:
用C++完成一个班级在某门课程中的成绩储存并计算平均值的程序,要求用到数组类模板。
输入要求:
在程序运行的页面根据提示输入班级学生人数n,再依次输入每个人在课程A
中的成绩。
输出要求:
输出n个人在课程A中的平均成绩。
2设计过程
〔1〕、分析程序的功能:
使用户能根据程序提示输入班级学生人数n和n个人在某门课中
考试成绩,并能储存成绩然后计算平均值,显示出来。
〔2〕、思考程序要用到的算法原理:
使用数组类模板定义浮点型数组存储考试成绩;利用
班级总人数与其在课程A中的总分之比的原理求平均值。
〔3〕、设计程序流程图〔见2.3〕。
〔4〕、编写程序〔见2.4〕。
2.1程序功能
使用户能根据程序提示输入班级学生人数n和n个人在某门课中考试成绩,并能储存成
绩然后计算平均值,显示出来。
〔1〕、使用数组类模板定义浮点型数组存储考试成绩;
〔2〕、利用班级总人数与其在课程A中的总分之比的原理求平均值。
2.4程序主要模块或者函数
#ifndefARRAY_H
#defineARRAY_H
#includeiostream.h
#includestdlib.h
#ifndefNULL
constintNULL=0;
#endif
enumErrorType
//错误类型集合,共有三种类型
{invalidArraySize,memoryAllocationError,indexOutOfRange};char*errorMsg[]=
{
Invalidarraysize,Memoryallocationerror,
Invalidindex:
};
templateclassT
classArray
{
private:
T*alist;//T类型指针,用于存放动态分配的数组内存首地址intsize;
voidError(ErrorTypeerror,intbadIndex=0)const;
public:
Array(intsz=50);
Array(constArrayTA);
~Array(void);
//重载=使数组对象可以整体赋值
ArrayToperator=(constArrayTrhs);
Toperator[](inti);
operatorT*(void)const;
intListSize(void)const;
voidResize(intsz);
};
//以下为类成员函数的实现
templateclassT
voidArrayT:
:
Error(ErrorTypeerror,intbadIndex)const{
couterrorMsg[error];
if(error==indexOutOfRange)
coutbadIndex;//如果是下标越界错,输出错误的下标
coutendl;
exit
(1);
}
templateclassT
ArrayT:
:
Array(intsz)
{
if(sz=0)//sz为数组大小〔元素个数〕,假设小于0,那么输出错误信息Error(invalidArraySize);
size=sz;
alist=newT[size];//动态分配size个T类型的元素空间
if(alist==NULL)//如果分配内存不成功,输出错误信息
Error(memoryAllocationError);
}
templateclassT
ArrayT:
:
~Array(void)
{
delete[]alist;
}
templateclassT
ArrayT:
:
Array(constArrayTX)
{
//从对象X取得数组大小,并赋值给当前对象的成员
intn=X.size;
size=n;
alist=newT[n];
if(alist==NULL)//如果分配内存不成功,输出错误信息
Error(memoryAllocationError)
T*srcptr=X.alist;
T*destptr=alist;
while(n--)
*destptr++=*srcptr++;
}
//重载=运算符,将对象rhs赋值给本对象。
实现对象之间的整体赋值templateclassT
ArrayTArrayT:
:
operator=(constArrayTrhs)
{
intn=rhs.size;
if(size!
=n)
{
delete[]alist;
alist=newT[n];//重新分配n个元素的内存
if(alist==NULL)
Error(memoryAllocationError);
size=n;//记录本对象的数组大小
}
//从rhs向本对象复制元素
篇三:
C语言程序设计报告书
《C语言程序设计》
实验设计报告
学院:
_专业班级:
学生姓名:
学号:
指导老师:
设计题目:
____________________________
年06月16日
2022
1.设计题目:
学生考勤系统设计.............................................................................3
2.设计方案:
.............................................................................................................3
3.模块说明:
...............................................................................................................3
3.1系统功能模块....................................................................................................................3
3.2函数以及调用关系............................................................................................................4
4.代码分析及程序优化...............................................................................................9
5.数据文件名及说明...............................................................................................10
6.系统运行测试结果分析........................................................................................10
6.1进入程序..........................................................................................................................10
6.2加载界面..........................................................................................................................11
4.3创立学生信息..................................................................................................................11
4.4录入本课考勤情况..........................................................................................................12
6.4修改学生信息..................................................................................................................12
6.5查询学生考勤信息..........................................................................................................13
6.6查看班级考勤情况..........................................................................................................13
6.7源程序清单和执行结果:
..............................................................................................14
1.设计题目:
学生考勤系统设计
2.设计方案:
该系统能考察学生的出勤情况,所以包括每个班学生的全部信息。
每个学生是一条记录,包括姓名﹑性别﹑学号,对应于某天某门课程
的出勤情况等。
该系统可模拟考勤过程,记录考勤结果,并能在课程
结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。
其中,学生可在本系统在线请假以及查看学期内的上课出勤信
息。
在线请假中,学生可以随时查看到请假的详细进展情况。
同时,
学生可以查看本期内上课出勤的详细信息,如:
查看某个课程在整个
学期内的出勤情况——请假、旷课、迟到、早退了多少次,以及具体
的时间、任课老师姓名、第几节可等详细信息。
学生还可以查看本人
的根本信息,如:
所在院系、年级、专业、班级、学号、姓名、性别
等,以及修改个人用户密码,查看本班的课表。
对于任课老师,其使用本系统时,管理所教班级学生的上课出勤
信息以及查看所教学生的上课出勤信息。
老师自动列出还没有在网上
公布的学生上课出勤信息,系统依据学生请假系统,决定学生上课出
勤的最终结果。
并且查看自己所教课程、所教班级学生整个上课出勤
统计信息以及详细信息。
3.模块说明:
根据设计要求,画出如下流程图:
voidmune_1();/*菜单函数1*/
voidmune_2()/*菜单函数2*/
voidenter(void);/*录入函数*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 报告