华南师大19级计算机学院专硕上机题
一、 编程计算1/1!-1/3!+1/5!-…+(-1)(n+1)/(2n-1)!
#include <iostream>
using namespace std;int main() {int n; //输入ncin >> n;int t = 1; double num = 1; //定义变量double sum = 0;double temp = num;while (n>0) {sum += 1 / temp * t;t = -t;num++;temp *= num;num++;temp *= num;n--;}cout << sum;return 0;
}
二、 甲乙丙对一次竞赛名次进行预测。
甲:A第1 B第3
乙:C第1 D第4
丙:D第1 B第3 (数据不是原题,记不太清,但解题方法是一样的)
他们都说对了一半,求ABCD正确的名次(ABCD不会出现相同的名次)
#include <iostream>
using namespace std;int main() {int A, B, C, D;for (A = 1; A <= 4; A++) {for (B = 1; B <= 4; B++) {if ((A == 1 && B != 3) || (A != 1 && B == 3)&&A!=B) {for (C = 1; C <= 4; C++) {if (A != C && B != C) {for (D = 1; D <= 4; D++) {if (D!=A&&D!=B&&D!=C&&((C == 1 && D != 4) || (C != 1 && D == 4))&& ((D == 1 && B != 3) || (D != 1 && B == 3))) {cout << "A:" << A << endl;cout << "B:" << B << endl;cout << "C:" << C << endl;cout << "D:" << D << endl;cout << endl;}}}}}}}return 0;
}
三、 给定链表节点的定义
struct Node{
int data;
Node *next;
}
请编写一个函数,用递归的方式:对两个有序链表合并成一个有序链表。
#include <iostream>
using namespace std;struct Node { //结点定义int data;Node* next;
};/**合并两个链表到新的链表方法
*/
void merge(Node* newList,Node* list1, Node* list2) {//如果两个链表都非空if (list1 != NULL && list2 != NULL) {if (list1->data <= list2->data) { //如果链表1<=链表2newList->next = list1; //新链表的下一个节点指向链表1newList = newList->next; //新链表切换下一个节点merge(newList, list1->next, list2); //递归合并}else { //如果链表1>链表2newList->next = list2; //新链表的下一个节点指向链表2newList = newList->next; //新链表切换下一个节点merge(newList, list1, list2->next); //递归合并}}if (list1!= NULL&&list2==NULL) { //第二种情况,list1非空,list2空newList->next = list1;newList = newList->next;merge(newList, list1->next, NULL);}if (list2 != NULL&&list1==NULL) { //第三种情况,list1空,list2非空newList->next = list2;newList = newList->next;merge(newList, NULL, list2->next);}
}int main() {Node* newList = new Node{ NULL, NULL }; //创建新链表Node* list1 = new Node{ NULL,NULL }; //创建链表1Node* LinkList1 = list1; //保存链表1头结点cout << "请依次输入链表1的值,当输入-1时结束:";int data;cin >> data;while (data != -1) { //创建链表1Node* newNode = new Node{ data,NULL };list1->next = newNode;list1 = list1->next;cin >> data;}Node* list2 = new Node{ NULL,NULL }; //创建链表2Node* LinkList2 = list2; //保存链表2头结点cout << "请依次输入链表2的值,当输入-1时结束:";int data2;cin >> data2;while (data2 != -1) { //创建链表2Node* newNode = new Node{ data2,NULL };list2->next = newNode;list2 = list2->next;cin >> data2;}merge(newList, LinkList1->next, LinkList2->next); //调用递归算法Node* p = newList->next; //遍历输出结果for (;p!=NULL;p=p->next) {cout << p->data << " ";}
}
请依次输入链表1的值,当输入-1时结束:1 3 4 5 8 -1
请依次输入链表2的值,当输入-1时结束:3 6 9 10 11 14 -1
合成后的链表:1 3 3 4 5 6 8 9 10 11 14
四、 现有一个酒店场景。定义一个客人类Guest。包含成员属性:编号Num、姓名Name、房费Fee、当前酒店入住人数Count。其中编号Num需要程序自动生成。现在要求实现以下Guest的成员函数:构造函数、Show()显示Guest的信息、GetCount()返回当前酒店入住的人数、GetTotalIncome()返回当前酒店的总收入。并定义3个Guest对象来对成员函数进行测试。
#include <iostream>
#include <iostream>
using namespace std;static int Total = 0; //定义订单编号,从0开始不会出现重复class Guest {private:int Num;string Name;double Fee;int Count;
public:Guest();Guest(string n, double f, int c);void Show();int getCount();static double getTotalIncome(Guest* guest,int n); //返回总收入
};Guest::Guest() {}
Guest::Guest(string n, double f, int c) {Num = Total++;Name = n;Fee = f;Count = c;
}void Guest::Show() {cout << "Num:" << Num << endl;cout << "Name:" << Name << endl;cout << "Fee:" << Fee << endl;cout << "Count:" << getCount() << endl;cout << endl;
}int Guest::getCount() {return Count;
}double Guest::getTotalIncome(Guest *guest,int n) {double sum = 0;int i = 0;for(int i=0;i<n;i++) {sum += (guest+i)->Fee;}return sum;
}int main() {Guest guests[3] = {Guest("张三",999,3),Guest("李四",200,1),Guest("王五",1200,4)};for (int i = 0; i < 3; i++) {guests[i].Show();}double totalIncome = Guest::getTotalIncome(guests,3);cout << "totalIncome:" << totalIncome;return 0;
}
五、现有一抽象类Shape,它拥有一系列虚函数:Input()输入类需要的信息、Show()显示类的信息、Perimeter()计算周长、Area()计算面积。先定义Circle、Square、Triangle来继承Shape并实现其虚函数。要求创建Circle、Square、Triangle的对象,用基类指针指向这些对象,并调用成员函数进行测试。
#include <iostream>
#include <cmath>
using namespace std;class Shape {public:virtual void Input()=0; //注意抽象类中方法的写法virtual void Show()=0;virtual double Perimeter()=0;virtual double Area()=0;
};class Circle :public Shape {private:double radius;
public:Circle() {}void Input() {cout << "请输入圆半径radius:";cin >> radius;}void Show() {cout << "radius:" << radius << endl;cout << "perimeter" << Perimeter() << endl;cout << "Area" << Area() << endl;cout << endl;}double Perimeter() {return 3.14 * 2 * radius;}double Area() {return 3.14 * radius * radius;}
};class Square :public Shape {private:double len;
public:Square() {}void Input() {cout << "请输入正方形边长len:";cin >> len;}void Show() {cout << "len:" << len << endl;cout << "perimeter:" << Perimeter() << endl;cout << "area:" << Area() << endl;cout << endl;}double Perimeter() {return 4 * len;}double Area() {return len * len;}
};class Triangle :public Shape {private:double a, b, c;
public:Triangle() {}void Input() {cout << "请输入三角形边长a,b,c:";cin >> a >> b >> c;}void Show() {cout << "a:" << a << endl;cout << "b:" << b << endl;cout << "c:" << c << endl;cout<<"perimeter:"<<Perimeter()<<endl;cout<<"area:"<<Area();cout << endl;}double Perimeter() {return a + b + c;}double Area() {double s = (a + b + c) / 2;return sqrt(s * (s - a) * (s - b) * (s - c));}
};int main() {Shape* p;p = new Circle;p->Input();p->Show();p = new Square;p->Input();p->Show();p = new Triangle;p->Input();p->Show();return 0;
}
华南师大19级计算机学院专硕上机题相关推荐
- 考研经验-2020年合肥工业大学计算机学院专硕经验贴
考研在某种程度上也是经验的比拼,毕竟在相同的时间内,如果知道怎样更高效.哪些是重点,学习起来就会事半功倍. 一年的考研之旅总算结束,好在结果很满意,一战成功上岸合肥工业大学,因而也想把一些自己这一年来 ...
- 西交计算机学院专硕奖助学金情况,《西安交通大学研究生奖助金管理办法》(西交研〔2017〕89号)文件说明...
一.确立指导思想和基本原则 指导思想:全面贯彻党的教育方针,坚持立德树人,把奖助与育人紧密结合,培养研究生的思想品德.科学精神.实践能力和人文素养,引导研究生树立正确的世界观.人生观和价值观,最终实现 ...
- 2021上岸北邮计算机学院专硕初复试经验
今年真是百年未有之大卷年,今年能上岸真是烧高香了hh 先说基础把,本人是双非学校的通工专业,本科期间是acm校队的,拿过区域赛铜,蓝桥杯江苏省赛也拿过奖,然后项目方面只做过一个大创比较水的那种,发了一 ...
- 西航计算机学院学生会,西航职院 | 19级计算机工程学院学生会召开纳新竞聘大会...
原标题:西航职院 | 19级计算机工程学院学生会召开纳新竞聘大会 是新朋友吗?记得先点蓝字关注我哦- 2019年9月16日18点30在西安航空职业技术学院南校区4号楼103教室,顺利召开19级计算机工 ...
- 保研之路——北航计算机学院直硕夏令营
北航计算机学院直硕夏令营 个人情况 高校复试参与情况 北航计算机学院直硕(7.11-7.13) 结语 嗯!抱着不白花这么多路费住宿费的初衷准备写一个保研经验贴,希望学弟学妹少花点钱吧orz 我的战术大 ...
- 【 西交,西工大,西北大学计算机考研专硕2023详细信息】
西交大学计算机考研专硕 这里写目录标题 西交大学计算机考研专硕 专业目录 初复试科目 专业目录 西安交大2022年: 学院复试线 计院:60.60.90.90.375 085400电子信息 ①101 ...
- 菏泽学院计算机学院郭琪琪,【北邮表白墙】表白贵校15级计算机学院小哥哥我男票周彧祺!撇撇,我等着你娶我呢,不要太晚哦~署名:来自北航的韩小之...
原标题:[北邮表白墙]表白贵校15级计算机学院小哥哥我男票周彧祺!撇撇,我等着你娶我呢,不要太晚哦-署名:来自北航的韩小之 ----------------------------------- ❤表 ...
- 浙大计算机学院考研复试上机试题,浙大计算机学院考研复试上机试题.doc
浙江大学计算机复试上机2005-2007 (由林子整理 QQ:170479150) 2005年浙江大学计算机学院考研复试上机试题及参考答案(1/5) 第一题:A+B(10分) [结题] 题目要求:读入 ...
- 2022中山大学计算机考研专硕初试经验分享
2022中山大学计算机考研专硕初试经验分享 个人介绍 初试 备考时间规划 数学 专业课 英语 政治 一些建议 1. 考研是一场持久战,健康的身体和乐观的心态很重要. 2. 利用好网络上的资源. 总结 ...
最新文章
- Java归去来第2集:利用Eclipse创建Maven Web项目
- es中的ResourceWatcherService
- SQL Server 2005 和JBOSS 4 系统运行缓慢--高并发系统探讨(1)
- 1、Expect 远程登录linux系统
- Uboot中start.S源码的指令级的详尽解析 在线版
- 前端解析返回的对象时json显示$ref问题的解决
- Json.Net系列教程 3.Json.Net序列化和反序列化设置
- C#联通新版验证码识别的实现[转]
- js判断浏览器的环境(pc端,移动端,还是微信浏览器)
- ueditor1.4.3 jsp版在ssh下的配置
- kubernetes视频教程笔记 (8)-资源类型
- i3wm nm-applet每次开机都要输入wifi密码的解决办法
- 计算机联锁系统冗余试验,计算机联锁系统冗余技术及应用研究
- JSchException: Algorithm negotiation fail
- 进程和线程常见的19个问题
- 【概率论】贝叶斯法则
- Classification分类学习
- mac要装anaconda吗_在Mac OS X上安装Anaconda
- 为BlueLake主题增加自定义icon图标
- 使用MSHTML解析HTML代码