CCF GESP C++ 一级上机题(十六道题及其思路详解合集)

#include <iostream>
using namespace std;int main()
{// 定义起始年份、结束年份、循环变量以及用于累加的变量,并初始化累加变量为0int start, end, i, sum = 0;// 从标准输入读取起始年份和结束年份cin >> start >> end;// 循环遍历从起始年份的下一年到结束年份的前一年for (i = start + 1; i < end; i++){// 判断当前年份是否为闰年(能被4整除但不能被100整除,或者能被400整除)if ((i % 4 == 0 && i % 100!= 0) || i % 400 == 0)// 如果是闰年,将该年份累加到sum中sum = sum + i;}// 将累加得到的闰年年份总和输出cout << sum;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义用于存储小时、分钟、秒的变量以及用于存储最终总秒数的变量int h, m, s, sum;// 定义一个字符变量,用于存储表示上午或下午的字符('A'表示上午,'P'表示下午)char c;// 从标准输入读取小时、分钟、秒以及表示上午或下午的字符cin >> h >> m >> s >> c;// 如果读取到的字符是 'A',表示上午if (c == 'A')// 将小时、分钟、秒转换为总秒数,计算公式为:小时 * 60 * 60 + 分钟 * 60 + 秒sum = h * 60 * 60 + m * 60 + s;// 如果读取到的字符不是 'A',那就认为是 'P',表示下午else// 对于下午的时间,先将小时数加上12,再转换为总秒数sum = (h + 12) * 60 * 60 + m * 60 + s;// 将计算得到的总秒数输出cout << sum;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
#include <cmath>
using namespace std;int main()
{// 定义变量A用于存储输入的整数,变量C用于统计A的因数个数,初始化为0int A, C = 0;// 从标准输入读取一个整数赋值给Acin >> A;// 循环从1到A的平方根(使用sqrt函数获取),这样可以减少循环次数,提高效率// 因为一个数的因数是成对出现的,比如对于数n,若i是n的因数,那么n/i也是n的因数// 只需要遍历到其平方根即可找到所有因数对中的一个因数for (int i = 1; i <= sqrt(A); i++){// 如果A能被当前的i整除,说明i是A的一个因数if (A % i == 0)// 因数个数加1C++;}// 将统计得到的因数个数输出cout << C;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义变量A用于存储年份,变量B用于存储月份,变量day用于存储对应月份的天数int A, B, day;// 从标准输入读取年份和月份cin >> A >> B;// 判断月份是否是1、3、5、7、8、10、12月,这些月份每月有31天if (B == 1 || B == 3 || B == 5 || B == 7 || B == 8 || B == 10 || B == 12)day = 31;// 如果不是上述月份,则先默认该月有30天else{day = 30;// 判断年份是否为闰年(能被4整除但不能被100整除,或者能被400整除)if ((A % 4 == 0 && A % 100!= 0) || A % 400 == 0){// 如果是闰年且月份为2月,则2月有29天if (B == 2)day = 29;}// 如果不是闰年且月份为2月,则2月有28天else{if (B == 2)day = 28;}}// 将计算得到的对应月份的天数输出cout << day;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义变量h和m用于存储起始时间的小时数和分钟数// 定义变量H和M用于存储结束时间的小时数和分钟数// 定义变量L用于存储计算得到的时间间隔(以分钟为单位)int h, m, H, M, L;// 从标准输入读取起始时间的小时数和分钟数,以及结束时间的小时数和分钟数cin >> h >> m >> H >> M;// 计算小时数的差值int s = H - h;// 计算分钟数的差值int t = M - m;// 如果分钟数的差值小于0,说明结束时间的分钟数小于起始时间的分钟数// 此时需要将小时数的差值减1,并将分钟数的差值加上60来得到正确的时间间隔(以分钟为单位)if (t < 0)L = (s - 1) * 60 + t + 60;// 如果分钟数的差值大于等于0,直接按照正常计算方式得到时间间隔(以分钟为单位)elseL = s * 60 + t;// 将计算得到的时间间隔(以分钟为单位)输出cout << L;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义变量n用于存储输入的整数,变量i作为循环变量// 变量t用于累加从1到当前循环次数i的值,初始化为0// 变量s用于累加每次循环得到的t的值,初始化为0int n, i, t = 0, s = 0;// 从标准输入读取一个整数赋值给ncin >> n;// 循环从1到n,每次循环执行以下操作for (i = 1; i <= n; i++){// 将当前循环次数i累加到t中,这样t就依次变为1、1 + 2、1 + 2 + 3 等t = t + i;// 将每次更新后的t的值累加到s中,也就是对每次得到的累加和t再进行累加s = s + t;}// 将最终累加得到的s的值输出cout << s;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义变量X、Y、Z、Q分别用于存储从标准输入读取的四个整数// 定义变量s用于存储计算结果int X, Y, Z, Q, s;// 从标准输入读取四个整数,分别赋值给X、Y、Z、Qcin >> X >> Y >> Z >> Q;// 根据给定的计算规则,用Q减去X乘以2、Y乘以5、Z乘以3的和,得到结果存储在s中s = Q - (X * 2 + Y * 5 + Z * 3);// 如果计算结果s大于等于0,说明够买if (s >= 0)// 输出"Yes",并换行后输出剩余钱scout << "Yes" << "\n" << s;// 如果计算结果s小于0,说明不够买else// 输出"No",并换行后输出s的绝对值(缺少的钱)cout << "No" << "\n" << -s;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

 

#include <iostream>
using namespace std;
int main()
{int X, N;cin >> X >> N;X = X + N;while (X > 7)X = X - 7;cout << X;return 0;
}

 

#include <iostream>
using namespace std;
int main()
{int N, M;cin >> N >> M;for (int i = 1; i <= N; i++){if (i % M != 0)cout << i << "\n";}return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义变量m用于存储从标准输入读取的整数,变量count用于记录m中包含13的个数,初始化为0int m, count = 0;// 从标准输入读取一个整数并赋值给mcin >> m;// 当m的值大于等于13时,进入循环体执行以下操作while (m >= 13){// 将m的值减去13,模拟从m中减去一个13的操作m = m - 13;// 每减去一个13,count的值就增加1,用于记录减去13的次数count++;}// 先将count的值输出,并换行cout << count << "\n";// 再将最终剩余的m的值输出cout << m;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

 

#include <iostream>
using namespace std;int main()
{// 定义变量a用于存储从标准输入读取的整数,变量b作为循环变量int a, b;// 从标准输入读取一个整数并赋值给acin >> a;// 开启一个循环,循环变量b从1开始,每次递增1,直到b的值不超过afor (b = 1; b <= a; b++){// 判断a除以b的余数是否为0,即判断b是否是a的因数if (a % b == 0)// 如果b是a的因数,就将b输出,并换行cout << b << "\n";}// 返回主函数的结束状态,一般0表示正常结束return 0;
}

 

#include <iostream>
using namespace std;int main()
{// 定义变量h、m、s分别用于存储输入的小时、分钟、秒数// 定义变量k用于存储要增加的总秒数// 定义变量H、M用于中间计算过程中存储转换得到的小时数和分钟数int h, m, s, k;int H, M;// 从标准输入读取小时、分钟、秒数以及要增加的总秒数cin >> h >> m >> s >> k;// 将增加的总秒数k转换为分钟数,存储在M中(整除运算得到分钟数)M = k / 60;// 将增加的总秒数k除以60取余数,得到剩余的秒数,更新k的值k = k % 60;// 将得到的分钟数M再转换为小时数,存储在H中(整除运算得到小时数)H = M / 60;// 将原来的秒数s与增加的剩余秒数k相加s = s + k;// 如果相加后的秒数s大于等于60,说明秒数满60需要进位if (s >= 60){// 将秒数s减去60,恢复到0到59的范围内s = s - 60;// 分钟数m增加1,表示秒数进位到分钟数m++;}// 将原来的分钟数m与转换得到的分钟数M相加m = m + M;// 如果相加后的分钟数m大于等于60,说明分钟数满60需要进位if (m >= 60){// 将分钟数m减去60,恢复到0到59的范围内m = m - 60;// 小时数h增加1,表示分钟数进位到小时数h++;}// 将最终得到的小时数h、分钟数m、秒数s输出,中间用空格隔开cout << h << " " << m << " " << s;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;int main()
{// 定义变量n存储输入的整数,变量x作为循环变量,变量i标记是否找到符合条件的情况,初始化为0int n, x, i = 0;// 从标准输入读取一个整数并赋值给ncin >> n;// 开启一个循环,循环变量x从1开始,每次递增1,直到x的值不超过nfor (x = 1; x <= n; x++){// 判断n是否等于x的立方(即x * x * x),如果相等,说明找到了满足条件的xif (n == x * x * x)// 将i的值设为1,表示找到了符合条件的情况i = 1;}// 根据i的值来判断是否找到了符合条件的情况,如果i等于1,说明找到了if (i == 1)// 输出"Yes",表示n是某个整数的立方cout << "Yes";// 如果i不等于1,说明没有找到符合条件的情况else// 输出"No",表示n不是某个整数的立方cout << "No";// 返回主函数的结束状态,一般0表示正常结束return 0;
}

#include <iostream>
using namespace std;
int main()
{int n, a, b;cin >> n >> a >> b;cout << n / (a + b);return 0;
}

 

 

#include <iostream>
#include <vector>
using namespace std;int main()
{// 定义变量n用于存储输入的整数,表示后续要输入数据的个数// 定义变量num用于临时存储数据以及后续统计满足特定条件的个数,初始化为0// 定义变量i作为循环变量// 定义变量j用于记录已经存入向量A中的元素个数,初始化为0int n, num, i, j = 0;// 定义一个vector容器A,用于存储长整型数据vector<long long> A;// 从标准输入读取一个整数n,该整数决定了后续要输入的数据个数cin >> n;// 循环n次,每次从标准输入读取一个整数num,并将其添加到向量A中,同时更新j的值for (i = 0; i < n; i++){cin >> num;A.push_back(num);j++;}// 将num重新初始化为0,用于统计满足特定条件的元素个数num = 0;// 循环遍历向量A中的所有元素,循环次数为已经存入的元素个数jfor (i = 0; i < j; i++){// 判断当前元素A[i]是否能被9整除且不能被8整除if (A[i] % 9 == 0 && A[i] % 8!= 0)// 如果满足条件,将统计个数num的值加1num++;}// 将统计得到的满足特定条件的元素个数num输出cout << num;// 返回主函数的结束状态,一般0表示正常结束return 0;
}

 这一题因有数据规模规定(n无上限),所以选择了用动态数组的方法

 有没听说过或者仍不会用vector的伙伴可以收藏下方的博客学习⬇

C++ vector的超级详细实用用法-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Opencv+ROS实现颜色识别应用

目录 一、工具 二、原理 概念 本质 三、实践 添加发布话题 主要代码 四、成果 五、总结 一、工具 opencvros ubuntu18.04 摄像头 二、原理 概念 彩色图像&#xff1a;RGB&#xff08;红&#xff0c;绿&#xff0c;蓝&#xff09; HSV图像&#xff1a;H&#xff0…

【linux】shell脚本

文章目录 1. jar包启动脚本1.1 方式一1.2 方式二 2. 进程关闭脚本3. 操作mysql4. impala建表语句提取5. 监控磁盘存量6. 清日志脚本7. 替换tomcat的启动端口8. 将一行数据按照空格依次读取 1. jar包启动脚本 1.1 方式一 #!/bin/sh RESOURCE_NAME/usr/local/applications/scre…

Flume和kafka的整合:使用Flume将日志数据抽取到Kafka中

文章目录 1、Kafka作为Source【数据进入到kafka中&#xff0c;抽取出来】2、kafka作为Sink 【数据从别的地方抽取到kafka里面】 1、Kafka作为Source【数据进入到kafka中&#xff0c;抽取出来】 kafka源 --> memory --> 控制台&#xff1a; a1.sources r1 a1.sinks k1…

vue3 reactive响应式实现源码

Vue 3 的 reactive 是基于 JavaScript 的 Proxy 实现的&#xff0c;因此它通过代理机制来拦截对象的操作&#xff0c;从而实现响应式数据的追踪。下面是 Vue 3 的 reactive 源码简化版。 Vue 3 reactive 源码简化版 首先&#xff0c;我们需要了解 reactive 是如何工作的&…

scala模式匹配

object test47 {def main(args: Array[String]): Unit {val id"445646546548858548648"//取出id前两位val provinceid.substring(0,2) // println(province) // if (province"42"){ // println("湖北") // }else if(province&quo…

旋转磁体产生的场 - 实验视频资源下载

先发几个视频&#xff0c;是2019年所作的实验内容 更多视频&#xff0c;到某宝找我吧。注意&#xff1a;是收费的。 20190312-180244-旋转磁体产生的场造成激光功率减小 https://download.csdn.net/download/u014161757/90038058 20190313-090956-旋转磁体产生的场对真空介电…

AI加持,华为全屋智能品牌升级为“鸿蒙智家”

1.传统智能家居的困境&#xff1a;从便利到繁琐 近年来&#xff0c;智能家居因其便捷性和科技感受到消费者的青睐。然而&#xff0c;随着用户需求的多样化&#xff0c;传统智能家居的弊端逐渐显现&#xff1a; 设备连接复杂&#xff0c;品牌间兼容性不足&#xff0c;用户不得不…

【后端面试总结】MySQL索引

数据库索引不只一种实现方法&#xff0c;但是其中最具代表性&#xff0c;也是我们面试中遇到最多的无疑是B树。 索引为什么选择B树 数据量很大的查找&#xff0c;是不能直接放入内存的&#xff0c;而是需要什么数据就通过磁盘IO去获得。 红黑树&#xff0c;AVL树等二叉查找树…

ASP.net WebAPI 上传图片实例(保存显示随机文件名)

[HttpPost]public Task<Hashtable> ImgUpload(){// 检查是否是 multipart/form-dataif (!Request.Content.IsMimeMultipartContent("form-data"))throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);//文件保存目录路径string SaveTempPat…

string类部分(C++)

目录 1. string类 1.1 auto和范围for auto关键词&#xff1a; 范围for&#xff1a; 1.2 string类的常用接口说明 a&#xff09;string类对象的常见构造 b&#xff09; string类对象的容量操作 size与length&#xff1a; capacity: empty: clear: reserve: 1.reserve&am…

Oracle RAC 环境下数据文件误建在本地目录的处理过程

问题描述 在 Oracle RAC 环境中&#xff0c;有时会误将数据文件创建在本地目录&#xff0c;导致其他节点无法访问该数据文件&#xff0c;从而报出 ORA-01157 和 ORA-01110 错误。 问题分析 错误日志 Mon Nov 16 19:02:38 2021 Errors in file /u01/app/oracle/diag/rdbms/orc…

大厂也在用的分布式链路追踪:TraceIdFilter + MDC + Skywalking

痛点 查线上日志时&#xff0c;同一个 Pod 内多线程日志交错&#xff0c;很难追踪每个请求对应的日志信息。 日志收集工具将多个 Pod 的日志收集到同一个数据库中后&#xff0c;情况就更加混乱不堪了。 解决 TraceId MDC 前端每次请求时&#xff0c;添加 X-App-Trace-Id 请…

Dashboard Tactics

1&#xff1a;相关链接Dashboard Tactics :: OpenCPN Dashboard Tactics Plugin rgleason/dashboard_tactics_pi: OpenCPN dashboard built-in plugin merger with external tactics_pi plugin NMEAconverter :: OpenCPN 2&#xff1a;显示样式 3&#xff1a;代码 这个插件…

【leetcode】动态规划

31. 873. 最长的斐波那契子序列的长度 题目&#xff1a; 如果序列 X_1, X_2, ..., X_n 满足下列条件&#xff0c;就说它是 斐波那契式 的&#xff1a; n > 3对于所有 i 2 < n&#xff0c;都有 X_i X_{i1} X_{i2} 给定一个严格递增的正整数数组形成序列 arr &#xff0…

24.11.26 Mybatis2

resultMap 中的标签和属性 如果是主键列 一般用id标签对应 propertyjava对象的属性 column 数据库中的列( javaType实体类数据类型 jdbcType数据库列的数据类型 ) 不需要配置 <id property"empno" column"empno" />如果是普通列 一般用result对…

第六届国际科技创新学术交流大会暨新能源科学与电力工程国际(NESEE 2024)

重要信息 会议官网&#xff1a;nesee.iaecst.org 会议时间&#xff1a;2024年12月6-8日 会议地点&#xff1a; 中国-广州&#xff08;越秀国际会议中心) 大会简介 新能源科学与电力工程国际学术会议&#xff08;NESEE 2024&#xff09;作为第六届国际科技创新学术交流大会分…

随笔20241126 Kafka 消费者的自动提交与手动提交偏移量详解

Kafka 是一种流行的分布式消息系统&#xff0c;用于处理大量实时数据。消费者在消费消息时&#xff0c;需要跟踪其消费的位置&#xff08;即偏移量&#xff0c;offset&#xff09;。对于 Kafka 消费者来说&#xff0c;偏移量的提交是至关重要的&#xff0c;因为它决定了消费者在…

Vue.js 指令详解:v-bind, v-html, v-once, v-on, v-if, v-else-if, v-else 和 v-model

Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;它通过一系列的指令来实现数据与 DOM 的绑定。在本篇博客中&#xff0c;我们将通过一个示例来介绍 Vue 3 中的一些常用指令&#xff1a;v-bind, v-html, v-once, v-on, v-if, v-else-if, v-else 和 v-model。 1. v-bind…

【es6】原生js在页面上画矩形添加选中状态高亮及显示调整大小控制框(三)

接上篇文章&#xff0c;这篇实现下选中当前元素显示调整大小的控制框&#xff0c;点击document取消元素的选中高亮状态效果。 实现效果 代码逻辑 动态生成控制按钮矩形,并设置响应的css // 动态添加一个调整位置的按钮addScaleBtn(target) {const w target.offsetWidth;con…

文心一言与千帆大模型平台的区别:探索百度AI生态的双子星

随着人工智能技术的迅猛发展&#xff0c;越来越多的公司开始投入资源开发自己的AI解决方案。在中国&#xff0c;百度作为互联网巨头之一&#xff0c;不仅在搜索引擎领域占据重要位置&#xff0c;还在AI领域取得了显著成就。其中&#xff0c;“文心一言”和“千帆大模型平台”便…