2020级cpp上机考试题解#B卷
A卷的第七题我只会一个个排除的方法
意思就是暂时没有好办法所以A卷不搞了
1:递归函数求数列
题意:
有一个递归函数int f(int m),计算结果代表了数列的第m项。当m等于1时,函数结果返回1;当m等于2时,函数结果返回3;当m大于2时,函数结果返回3*f(m-1)+2*f(m-2)。请在主函数中输入正整数m,然后调用f函数求数列第m项,最后在主函数中输出。
题解:
题目中给定了m的范围(m<18)所以大家都可以大胆按照题意用递归不怕超时。记得每个输出后都要换行。
上板子:
- int f(int m)
- {
- if (m == 1)return 1;
- else if (m == 2)return 3;
- else if (m > 2)return 3 * f(m - 1) + 2 * f(m - 2);
- else return 0;
- }
- int main()
- {
- int n;
- cin >> n;
- while (n--)
- {
- int m;
- cin >> m;
- cout << f(m) << endl;
- }
- return 0;
- }
2:两点之间的距离
题解:
平方用n*n,开方用sqrt()。
3:输出数字II
题意:
输出从a到1的所有数字
题解:
输出从a到1的所有数字,数字之间不要留空格。不要换行。且a是正整数,不用分类讨论考虑a为负数的情况。
上板子:
- int main()
- {
- int n;
- cin >> n;
- for (int i = n;i >= 1;i--)
- {
- cout << i;
- }
- return 0;
- }
4:奇数偶数
题意:
根据一个整数的奇偶性,输出对应的结果。如果n是奇数,那么输出Odd;如果n是偶数,那么输出Even。
题解:
用到被2整除取余的思路。偶数余数为0,(奇数余数为1?)所以用到 % 2 == 0 这样一个简单的判断就好了。
这里注意一个点!由于不排除n是负数的可能性,所以不要用 % 2 == 1 来判断奇数,用 else 就行了。
5:星座
题意:
已知12星座的时间范围,输入一个日期,输出该日期对应的星座英文名。
题解:
先判断月份后判断日,或者两个一起判断,这里就不多做解释了。
6:背包客
题意:
小倩学姐喜欢背包旅游,她有一个标准的可随身携带的背包。一个物品需要符合下列规则才可以装入背包:1)尺寸小于等于20*20*20cm(即长、宽、高都不能大于20cm);2)并且重量不超过7kg。请输入4个正整数a,b,c和w,分别代表当前物品的长、宽、高和重量,然后判断是否能装入背包。如果能装入,则输出“Yes”,否则输出“No”。
题解:
一个 if 搞定的事情:
if (a > 20 || b > 20 || c > 20 || d > 7)
cout << "No"<<endl;
else cout << "Yes"<<endl;
或者用&&,自己随意。
7:整型数组
题意:
定义一个长度为100的整型数组,前50个元素分别赋值为1、3、5、7、...、99,后50个元素通过键盘输入。然后把数组各个元素从后到前依次输出。每两个元素之间有一个空格。最后一个元素后面不要有空格,不要换行。
上板子(这题不知道怎么搞题解):
- int main()
- {
- int a[101] = { 0 };
- for (int i = 1;i <= 50;i++)//前50个数,按照题目给定的规律
- {
- a[i] = 2 * i - 1;
- }
- for (int i = 51;i <= 100;i++)
- {
- cin >> a[i];//依次输入后50个数
- }
- for (int i = 100;i >= 1;i--)
- {
- cout << a[i];
- if (i != 1)cout << " ";//判断是否应输出“ ”
- }
- return 0;
- }
8:最大的两个数的和
题意:
按照指定的公式生成m个整数,输出其中最大的两个数的和。
题解:
很明显,难度在于这个看起来很离谱的数值范围,他让我看起来就像是一道注定会一直黄色的题目。
我一开始尝试使用数组去做这题,试了很多遍,就没成功过
第二次用的函数去写,还是错了(后来发现是内容写错了不是使用函数的原因)
最后的版本看起来其实不难也不复杂,不过要是能一上来就想到那也是厉害了
有兴趣的人可以把这串代码改成函数形式,看看能不能通过hhh
上板子:
- long long int num1 = 1, num2;
- cin >> m >> a >> b >> c;
- long long int m1 = 1, m2 = 0;//两个最大值,由于已给一个d[1]=1,所以 m1 初始值赋为1
- for (int i = 2;i <= m;i++)
- {
- num2 = (num1 * a + b) % c;//题目所给的公式
- if (num2 > m2)
- {
- m2 = num2;
- if (m2 > m1)
- {
- swap(m1, m2);//按照我的运算,m2 <= m1
- }
- }
- num1 = num2;
- }
9:字符串变换
题意:
把一个字符串中的所有大写字符按照以下规则进行变换:把A变成Z,B变成Y,C变成X,...,X变成C,Y变成B,Z变成A。字符串中的其它字符不要变换。
题解:
题目告诉你了字符串不含空格,所以放心用 cin 跟 string 。
至于转换方式我是没什么新意,就提供几个小思路。
1)暴力方法1:if(s[i]=='A')s[i]='Z'; //这个方法不用脑子,我觉得特别适合我这样宁可多打几个字也不去想别的方法的人
2)暴力方法2:switch 具体参考暴力1. //也可以建一个数组包含所有大写字母,可能会方便一点点
3)转换为ASCII码后取对称,然后再转回去
10:尚可过否
题意:
写一个程序判断同学们的成绩。程序的运算方式为:每次输入四个数字a,b,c,d,分别代表一个学生的出勤分数、平时分数、期中分数和期末分数。输入完后,程序计算该生的总评成绩,公式为:总评成绩=a+b+c*0.3+d*0.5。最后总评成绩如果大于等于60分,则输出“Pass”,否则输出“Fail”。
题解:
题目开头可以直接忽略,只看最后两句话就行。
具体操作也不难,计算并判断总评成绩与60分的关系就行。
以上就是本文的全部内容了,祝各位下学期顺顺利利。
制作:BDT20040
2020级cpp上机考试题解#B卷的更多相关文章
- 2020级cpp机考模拟题A卷-#题解1
为了各位朋友的身心健康(不是),我们按照题目难度顺序来写题解. 第一次写题解,希望多点包容和鼓励(恬不知耻 1:谁先输出-4 题意: 输入3个整数,按从大到小的顺序输出,每两个数字间加一个空格. 题解 ...
- 2020级cpp机考模拟题A卷-#题解2
这部分的题目都有一定难度,有兴趣的同学可以钻研一下. 特此感谢来自BDT20030 tql的支持. 2:素数的和-2 题意: 计算不大于m的素数之和.(多么容易理解的题目啊,对吧) 题解(有点复杂的 ...
- CCF计算机职业资格认证考试题解
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF计算机职业资格认证考试题解 CCF计算机软件能力认证(简称CCF CSP认证)是CCF计算机职业资格认证系 ...
- Twin Prime Conjecture(浙大计算机研究生保研复试上机考试-2011年)
Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Othe ...
- HDU 1234 (浙大计算机研究生复试上机考试-2005年) 开门人和关门人 (水)
开门人和关门人 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- 发现护考上机考试的一个bug:附软件截图(模拟软件)
目录: 一.文章主旨 二.问题发现的起因 三.bug(问题)描述 四.软件截图 五.我的思考 六.一点期盼 一.文章主旨: 2019年5月18.19.20日,又是一年一度的护资考试(上机考),考试前夕 ...
- 2020级C++实验课-期末机考模拟考题解
做这个题解的理由很简单,有很多同学想写但是不会写,凑巧我写了,所以搞个题解. 顺序就是题单里的顺序(界面左上角菜单切换文章,右上角目录方便查看) 1:黑马白马 题意: 随机得到一个数字,如果是偶数,则 ...
- 6.5 THUSC 考试题解
QAQ 由于并没有数据,而且没有A掉的是提交答案题目,所以并没有修改 QAQ 只能放题解了,代码还没有拿到,不过在清华听了一波习题讲评的安利 第一题 成绩单 先说暴力分 对于单调序列来说最优决策一定是 ...
- LJ 5月6日A组考试考试题解
[题目] T1(L2837) 晚餐队列安排 [题面] 为了避免餐厅过分拥挤,FJ要求奶牛们分2批就餐.每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想,所有第2批就餐的奶牛排在队尾,队伍的前半部分 ...
随机推荐
- PCB设计常见规则及基本原则
一.PCB基础知识 1.全称:印制电路板或者印制线路板 2.分类 材质分类:硬板(Rigid PCB).软板FPC(Flexible PCB).软硬结合板(Rigid-Flex PCB).HDI板(含 ...
- [源码解析] TensorFlow 分布式环境(7) --- Worker 动态逻辑
[源码解析] TensorFlow 分布式环境(7) --- Worker 动态逻辑 目录 [源码解析] TensorFlow 分布式环境(7) --- Worker 动态逻辑 1. 概述 1.1 温 ...
- 小记-用canvas完成图像液化(向前变形)过程
前几天由于团队需要,折腾了一下图像液化的处理过程. 现在来整理一下思路,做个记录. 用到公式如下,网上拿来的 话不多说,上代码 本来想尽量写出点逼格...后来发现怎么写也还是几个function搞定, ...
- 安卓性能优化之计算apk启动时间
之前有人在知乎提问:"怎么计算apk的启动时间?" : 利用Python或者直接用adb命令怎么计算apk的启动时间呢?就是计算从点击图标到apk完全启动所花费的时间.比如,对游戏 ...
- Static in C++
Static in C++ static根据上下文会有两种含义,他们的区别如下 **在类class或者是在结构体struct 外 **使用static 类外的static修饰的符号在link阶段是局部 ...
- 初识tomcat和servlet
web相关概念回顾 软件架构 C/S:客户端/服务器端 B/S:浏览器/服务器端 资源分类 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 如: html, ...
- vue3组合式API
vue3组合式API 为什么要用组合式API,我们来看看它是如何解决vue2的局限性的 1.vue2的局限性 当组件内容越来越多,逻辑越来越复杂,可读性就会降低,并且难以维护. vue2组件采用配置式 ...
- Go能实现AOP吗?
hello~大家好,我是小楼,今天分享的话题是Go是否能实现AOP? 背景 写Java的同学来写Go就特别喜欢将两者进行对比,就经常看到技术群里讨论,比如Go能不能实现Java那样的AOP啊?Go写个 ...
- js call与bind和apply的区别
介绍 在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢. 在说区别之前还是先总结一下三者的相似之处: 1.都是用来改变函数的this对象的指向的. 2.第一个参数都是thi ...
- CRUSE: Convolutional Recurrent U-net for Speech Enhancement
CRUSE: Convolutional Recurrent U-net for Speech Enhancement 本文是关于TOWARDS EFFICIENT MODELS FOR REAL-T ...