2012-3013-2算法语言与程序设计上机考试(a卷)
考试时间:2013.1.98:45-12:15共计3.5小时分数:每题20分,共完成5题,选做题附加分共计5分。
请仔细阅读说明】
-4题为必做题,5-6题任选一题完成。6题全做可根据完成情况获得附加分。2、算法可读性占5分,**书写规范性占5分。
3、答题与提交:(1)答题请在本地盘(d:盘或e:
盘)进行,勿在c盘或z盘上进行,以防关机或断网造成文件丢失;(2)答卷全部保存在学号命名的文件夹中,文件夹中每个题目以”学号f题号”命名,例如***学号文件夹中第3个题目的源程序文件名应为无身份标识的程序将有可能造成题目0分;(3)考试结束前将学号文件夹上传至z盘。【试题】一、必做题。
1、从键盘输入3个点的坐标,求这三个点围成的三角形的面积。三角形的面积可以采用海**式:
其中s表示面积,a, b, c表示三角形三条边的长度。
2、若一头小母牛从出生第四个年头开始每年生一头母牛,按此规律,计算第n年时总共会有多少头母牛。
递推算法提示】设a是3岁及3岁以上母牛数,b、c、d分别是2岁、1岁和0岁(新生)母牛数;初始状态(第一年)a、b、c均为0,d为1;从第二年开始,今年的a是去年的a与b的和,今年的b是去年的c,今年的c是去年的d,而今年的d为今年的a(4岁母牛所生新牛数)。最终第n年总牛数为a+b+c+d。
3、定义可实现一维数组排序的函数模板。调用随机函数rand(),产生10个取值[0,100]之间的整数,使用该模板对该数组进行排序。将原始数据及排序后的数据分两行写入名为”的文本文件中。
4、完成函数char* conversion(int n, char* nstr)的算法,实现将十进制整数n转化为16进制的整数字符串nstr,返回数据串的首地址。数据串中大于等于10的数据位依次用’a’、’b’、’c’…等字符表示。定义主函数,读入十进制整数进行测试。
例如输入-348,则输出-15c。
算法提示】:用整数n整除16,依次记录余数,直至整数被除到0为止。注意输入的十进制整数。
为负数和为0的情况。
二、从以下两题中选做一题。
5、封装cmatrix,实现对任意m x n矩阵的表示,支持矩阵的构造、析构、乘法运算、矩阵赋值、下标运算、输出等。补充部分成员函数**使程序完整,已给**不能修改。#includeusing namespace std;template class cmatrix
protected:
t**p_data;//二级指针操作矩阵introw_size;//行数intcol_size;//列数};
template
cmatrix ::cmatrix(int rowsize, int colsize)
template
cmatrix ::cmatrix(const cmatrix& m)//深复制构造函数。
template
cmatrix cmatrix ::operator * const cmatrix& t)//运算符*,实现矩阵相乘。
template
cmatrix& cmatrix ::operator = const cmatrix& t)//运算符=,实现矩阵赋值。
template
t* cmatrix ::operator int i)
int main()
6、封装顺序表模板类,具有以下功能:
1)构造函数:动态创建顺序表,并从文本文件中读数据到顺序表,若文件不存在,则创建空表;
2)析构函数:将表中数据保存到文本文件中;(3)输出表中数据;(4)计算表长度;(5)判断表是否满;
6)插入元素:将元素插入表中某个下标的位置。如果表已满,则扩容后在进行插入;(7)扩容:重新为表开辟更大的动态空间;(8)重载下标运算符,进行下表合法性检查。
补充部分成员函数**使程序完整,已给**不能修改。#include#include
using namespace std;template
class seqlist//顺序表类模板void expand(int);/表扩容,将表容量增加若干元素空间void print()/输出表//计算表长度t& operator int);/返回某下标处对应的元素。
private:
t* slist;//操作数组的指针int last;//最后一个元素下标int max;//表容量};
template
void seqlist ::expand(int m)//将表容量增加m个元素空间。
template
t& seqlist ::operator int i)//返回下标i对应的元素,进行下标合法性检查。
return slist[i];}
template
seqlist ::seqlist(int n)/*申请动态表空间。若文本文件存在,则读取数据到表中*/
template
seqlist ::seqlist()/若不是空表,将数据保存到文本文件中,释放动态空间。
template
void seqlist ::insert(t& a, int pos)/*将元素a插入在下标pos处。插入前若表已满,则先扩容,增加10个元素空间*/
int main() endl;int pos;//下标cout <<输入待修改元素的下标:";cin >>pos;cout <<输入该下标元素的新值:";cin >>a;s[pos] =a; 11 公卫1班spss上机操作考试题。1 已知正常人乙酰胆碱酶的平均数为1.44u,现测定13例慢性气管炎患者的乙酰胆碱酶分别为 39,问慢性气管炎患者的乙酰胆碱酶含量与正常人有没有差别?问题 检验方法。spss操作步骤 建立数据文档 分析。若以 0.05作为检验水准,统计量p 结论 2 某医院中药... 多选题 1.管理型会计软件必须具备的功能包括 a应收账款 应付账款管理。b财务报表管理。c制作现金流量表。d销售收入管理。2会计核算软件应用中,期末结账需要完成的主要工作有 a根据转账设置生成各种转账凭证。b停止本月各账户的记账工作。c计算本月各账户的发生额合计。d计算本月各账户期末余额并将其结转至... 使用说明 这套题和3月份的有些差别,不是以填空题的第一个空作为唯一参照的,而是以填空题题干作为查找参照,上机题分为填空题 改错题 编程题 如果你的考试填空题的题目和这题库中给出的某一道填空题的题目的题干一致,那么你的改错题 编程题的答案也都在下面。一 1 程序填空题。给定程序中,函数fun的功能是将...2023年统计上机考试
2019会计从业上机考试题目
2023年c语言上机考试精简版