一、 编程计算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级计算机学院专硕上机题相关推荐

  1. 考研经验-2020年合肥工业大学计算机学院专硕经验贴

    考研在某种程度上也是经验的比拼,毕竟在相同的时间内,如果知道怎样更高效.哪些是重点,学习起来就会事半功倍. 一年的考研之旅总算结束,好在结果很满意,一战成功上岸合肥工业大学,因而也想把一些自己这一年来 ...

  2. 西交计算机学院专硕奖助学金情况,《西安交通大学研究生奖助金管理办法》(西交研〔2017〕89号)文件说明...

    一.确立指导思想和基本原则 指导思想:全面贯彻党的教育方针,坚持立德树人,把奖助与育人紧密结合,培养研究生的思想品德.科学精神.实践能力和人文素养,引导研究生树立正确的世界观.人生观和价值观,最终实现 ...

  3. 2021上岸北邮计算机学院专硕初复试经验

    今年真是百年未有之大卷年,今年能上岸真是烧高香了hh 先说基础把,本人是双非学校的通工专业,本科期间是acm校队的,拿过区域赛铜,蓝桥杯江苏省赛也拿过奖,然后项目方面只做过一个大创比较水的那种,发了一 ...

  4. 西航计算机学院学生会,西航职院 | 19级计算机工程学院学生会召开纳新竞聘大会...

    原标题:西航职院 | 19级计算机工程学院学生会召开纳新竞聘大会 是新朋友吗?记得先点蓝字关注我哦- 2019年9月16日18点30在西安航空职业技术学院南校区4号楼103教室,顺利召开19级计算机工 ...

  5. 保研之路——北航计算机学院直硕夏令营

    北航计算机学院直硕夏令营 个人情况 高校复试参与情况 北航计算机学院直硕(7.11-7.13) 结语 嗯!抱着不白花这么多路费住宿费的初衷准备写一个保研经验贴,希望学弟学妹少花点钱吧orz 我的战术大 ...

  6. 【 西交,西工大,西北大学计算机考研专硕2023详细信息】

    西交大学计算机考研专硕 这里写目录标题 西交大学计算机考研专硕 专业目录 初复试科目 专业目录 西安交大2022年: 学院复试线 计院:60.60.90.90.375 085400电子信息 ①101 ...

  7. 菏泽学院计算机学院郭琪琪,【北邮表白墙】表白贵校15级计算机学院小哥哥我男票周彧祺!撇撇,我等着你娶我呢,不要太晚哦~署名:来自北航的韩小之...

    原标题:[北邮表白墙]表白贵校15级计算机学院小哥哥我男票周彧祺!撇撇,我等着你娶我呢,不要太晚哦-署名:来自北航的韩小之 ----------------------------------- ❤表 ...

  8. 浙大计算机学院考研复试上机试题,浙大计算机学院考研复试上机试题.doc

    浙江大学计算机复试上机2005-2007 (由林子整理 QQ:170479150) 2005年浙江大学计算机学院考研复试上机试题及参考答案(1/5) 第一题:A+B(10分) [结题] 题目要求:读入 ...

  9. 2022中山大学计算机考研专硕初试经验分享

    2022中山大学计算机考研专硕初试经验分享 个人介绍 初试 备考时间规划 数学 专业课 英语 政治 一些建议 1. 考研是一场持久战,健康的身体和乐观的心态很重要. 2. 利用好网络上的资源. 总结 ...

最新文章

  1. Java归去来第2集:利用Eclipse创建Maven Web项目
  2. es中的ResourceWatcherService
  3. SQL Server 2005 和JBOSS 4 系统运行缓慢--高并发系统探讨(1)
  4. 1、Expect 远程登录linux系统
  5. Uboot中start.S源码的指令级的详尽解析 在线版
  6. 前端解析返回的对象时json显示$ref问题的解决
  7. Json.Net系列教程 3.Json.Net序列化和反序列化设置
  8. C#联通新版验证码识别的实现[转]
  9. js判断浏览器的环境(pc端,移动端,还是微信浏览器)
  10. ueditor1.4.3 jsp版在ssh下的配置
  11. kubernetes视频教程笔记 (8)-资源类型
  12. i3wm nm-applet每次开机都要输入wifi密码的解决办法
  13. 计算机联锁系统冗余试验,计算机联锁系统冗余技术及应用研究
  14. JSchException: Algorithm negotiation fail
  15. 进程和线程常见的19个问题
  16. 【概率论】贝叶斯法则
  17. Classification分类学习
  18. mac要装anaconda吗_在Mac OS X上安装Anaconda
  19. 为BlueLake主题增加自定义icon图标
  20. 使用MSHTML解析HTML代码

热门文章

  1. matlab中的匹配函数
  2. WMS产品设计:基于物联网技术的智能仓储原型系统
  3. android+集成北斗定位,基于Android系统的北斗定位通信手持设备研究
  4. 对《货币战争》一书的小小结
  5. 《IDA权威指南》复习笔记
  6. Unity安装vs2019失败解决方案
  7. python论文排版_论文图片处理小技巧~python更改pdf格式图片的宽和高
  8. 笔记本电池充不进去电问题
  9. 关于亚马逊云的负载均衡器(AWS-LD)的相关问题记录
  10. python实现kisses小游戏