C++语言题库(一)—— 基本知识类
目录
1. Hello World!
2. 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?
3. 给定一个华氏温度F,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。
4. 计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
5. 程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
6. 输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
7. 将输入的任意3个整数从小到大输出。
8. 对于给定的正整数N,求它的位数及其各位数字之和。
9. 给定N个正整数,请统计奇数和偶数各有多少个?
10. 将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。
11. 从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。
12. 对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。
13. 对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。下面是一个完整的下三角九九口诀表:
14. 求一个给定的m×n矩阵各行元素之和。
15. 求两个给定正整数的最大公约数和最小公倍数。
1. Hello World!
本题要求编写程序,输出一个短句“Hello World!”。输入格式:
本题目没有输入。输出格式:
在一行中输出短句“Hello World!”。
答案:
#include<iostream>
using namespace std;int main(){cout<<"Hello World!";
}
2. 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?
输入格式:
输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。输出格式:
在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。输入样例:
169输出样例:
124.2
答案:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {double n;scanf("%lf", &n);printf("%.1lf", (n - 100) * 1.8);return 0;
}
3. 给定一个华氏温度F,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出一个华氏温度。输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。输入样例:
150输出样例:
Celsius = 65
答案:
#include<iostream>
using namespace std;int main(){int f; cin>>f;int c = 5*(f-32)/9;cout<<"Celsius = "<<c;return 0;
}
4. 计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。输入样例:
1 2 3 4
输出样例:
Sum = 10; Average = 2.5
答案:
#include <cstdio>
#include <iostream>
using namespace std;int main() {int a, b, c, d;scanf("%d%d%d%d", &a, &b, &c, &d);int sum = a + b + c + d;printf("Sum = %d; Average = %.1lf", sum, sum / 4.0);return 0;
}
5. 程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。输出格式:
输出按位逆序的数。输入样例:
123
输出样例:
321
答案:
#include <cstdio>
#include <iostream>
using namespace std;int main() {int t, a = 0;cin >> t;while (t) {a = a * 10 + t % 10;t /= 10;}cout << a;return 0;
}
6. 输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。
输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。输入样例1:
2048
输出样例1:
2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048输入样例2:
2000
输出样例2:
Invalid year!
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int n, cnt = 0;cin >> n;if (n <= 2000 || n > 2100) {cout << "Invalid year!";return 0;}for (int i = 2001; i <= n; i++) {if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {cout << i << endl;cnt++;}}if (cnt == 0)cout << "None";return 0;
}
7. 将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:
4 2 8
输出样例:
2->4->8
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int a, b, c;cin >> a >> b >> c;if (a > b) {int t = a;a = b;b = t;}if (a > c) {int t = a;a = c;c = t;}if (b > c) {int t = b;b = c;c = t;}cout << a << "->" << b << "->" << c;return 0;
}
8. 对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过109的正整数N。输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。输入样例:
321
输出样例:
3 6
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int n; cin >> n;int a = 0, b = 0;while (n) {a++;b += n % 10;n /= 10;}cout << a << " " << b;return 0;
}
9. 给定N
个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int n, a = 0, x;cin >> n;for (int i = 1; i <= n; i++) {cin >> x;if (x % 2 == 0){a++;}}cout << n - a << " " <<a;return 0;
}
10. 将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。
输入格式:
输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。输出格式:
在一行中顺序输出交换后的序列,每个整数后跟一个空格。输入样例:
5
8 2 5 1 4
输出样例:
1 2 5 4 8
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int a[11], n;cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];int id = 1;for (int i = 1; i <= n; i++) {if (a[id] > a[i])id = i;}swap(a[id], a[1]);for (int i = 1; i <= n; i++) {if (a[id] < a[i])id = i;}swap(a[id], a[n]);for (int i = 1; i <= n; i++)cout << a[i] << " ";//每个整数后跟一个空格return 0;
}
11. 从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。
输入格式:
输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。输出格式:
在一行中输出X的位置,或者“Not Found”。输入样例1:
5 7
3 5 7 1 9
输出样例1:
2输入样例2:
5 7
3 5 8 1 9
输出样例2:
Not Found
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int a[21], n, x, id = 0;cin >> n >> x;for (int i = 0; i < n; i++)cin >> a[i];for (int i = 0; i < n; i++) {if (a[i] == x) {id = i;}}if (a[id] != x)cout << "Not Found";elsecout << id;return 0;
}
12. 对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。输出格式:
在一行中输出S的值。输入样例:
3
输出样例:
9
答案:
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;int main() {int n, s = 0, t = 1;cin >> n;for (int i = 1; i <= n; i++) {t = t * i; // t = i!s += t;}cout << s;return 0;
}
13. 对任意给定的一位正整数N
,输出从1*1
到N*N
的部分口诀表。下面是一个完整的下三角九九口诀表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。输入样例:
4
输出样例:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
答案:
#include <cstdio>
#include <iostream>
using namespace std;int main() {int n;scanf("%d", &n);for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) {printf("%d*%d=%-4d", j, i, i * j);}puts("");}return 0;
}
14. 求一个给定的m×n矩阵各行元素之和。
输入格式:
输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:
每行输出对应矩阵行元素之和。输入样例:
3 2
6 3
1 -8
3 12
输出样例:
9
-7
15
答案:
#include <iostream>
using namespace std;int main() {int m, n;cin >> m >> n;for (int i = 0; i < m; i++) {int sum = 0, a;for (int j = 0; j < n; j++) {cin >> a;sum += a;}cout << sum << endl;}return 0;
}
15. 求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:
511 292
输出样例:
73 2044
答案:
#include <iostream>
using namespace std;int main() {int a, b;cin >> a >> b;int x = a, y = b, tmp = 0;while (y != 0) {tmp = x % y;x = y;y = tmp;}cout << x << " " << a * b / x;return 0;
}
相关文章:
C++语言题库(一)—— 基本知识类
目录 1. Hello World! 2. 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少? 3. 给定一个华氏温度F…...

gemini1.5 API调用
https://ai.google.dev/pricing?hlzh-cn 查询可用的model https://generativelanguage.googleapis.com/v1beta/models?keyxxx 使用postman调用 https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?keyxxx https://ai.google…...

C++从入门到精通——const与取地址重载
const与取地址重载 前言一、const正常用法const成员函数问题const对象可以调用非const成员函数吗非const对象可以调用const成员函数吗const成员函数内可以调用其它的非const成员函数吗非const成员函数内可以调用其它的const成员函数吗总结 二、取地址及const取地址操作符重载概…...

手写spring IOC底层源码来模拟spring如何利用多级缓存解决循环依赖的问题
在文章开始之前,先来看一张spring IOC加载过程的脑图吧 Spring IOC的加载过程 首先,当我们去new了一个applicationContext,它底层呢就会把我们配置的bean进行扫描,然后创建成一个一个的beanDefinition放在我们的beanDefinitionMap中,此时就有了一切创造bean的原料信…...
C++11 Thead线程和线程池
参考资料: 2、5.lock_guard 与 std::unique_lock-陈子青的编程学习课堂 (seestudy.cn) 3、C11 多线程编程-小白零基础到手撕线程池_哔哩哔哩_bilibili 一、 C11 Thead线程库的基本使用 # include <thread> std::thread t(function_name, args...); // 线…...

Windows版Apache 2.4.59解压直用(免安装-绿色-项目打包直接使用)
windows下Apache分类 Apache分为 安装版和解压版 安装版: 安装方便,下一步------下一步就OK了,但重装系统更换环境又要重新来一遍,会特别麻烦 解压版(推荐): 这种方式(项目打包特别方便&#x…...

刀具表面上的微结构
刀具表面微结构通常指在刀具表面对特定功能设计的微观纹理,这些纹理可以是沟槽、凹坑、凸起或任何其他形式的微观图案。这些微结构的设计和应用是为了改善刀具的切削性能,减少切削力和切削温度,提高切削效率和精度,同时降低切削液…...

css3实现微信扫码登陆动画
在做微信扫码登陆时,出现一个背景光图上下扫码动画,用css3图片实现。 实现原理: 1.准备一个渐变的背景.png图 2.css动画帧实现动画 看效果: css代码: #wx-scan{position: absolute;top:0px;left: 50%;z-index: 3;ma…...
vue3 导入excel数据
所需包 "xlsx": "^0.18.5"页面导入包 import * as XLSX from xlsx; import {genFileId, UploadProps, UploadRawFile,ElTable } from element-plus;页面 <el-upload accept".xlsx" :on-change"changeExcel" :on-exceed"ha…...
C# linq 根据多字段动态Group by
实现类: public static class LinqHepler {/// <summary>/// 根据单个字段动态Group/// </summary>/// <typeparam name"T"></typeparam>/// <param name"source"></param>/// <param name"prop…...

C语言学习/复习22----阶段测评编程题
一、阶段测评练习 题1: 题2:...

LeetCode-1766. 互质树【树 深度优先搜索 广度优先搜索 数组 数学 数论】
LeetCode-1766. 互质树【树 深度优先搜索 广度优先搜索 数组 数学 数论】 题目描述:解题思路一:DFS 中记录节点值的深度和编号,回溯写法。关键点是1 < nums[i] < 50解题思路二:0解题思路三:0 题目描述࿱…...
“数据安全服务能力”评定资格认证!不容错过
数据安全服务能力评定是指对数据安全服务提供商从事数据安全服务综合能力的评定,包括技术能力、服务能力、质量保证能力、人员构成与素质、经营业绩、资产状况等要素。 一、能力评定类型与等级 数据安全服务能力分为二个类型:数据安全评估、数据安全建…...
【MATLAB 分类算法教程】_3麻雀搜索算法优化支持向量机SVM分类 - 教程和对应MATLAB代码
分类代码案例3:麻雀搜索算法优化支持向量机SVM分类 - MATLAB完全代码教程 1. 初始化代码2.读取数据代码3.数据预处理代码4.利用麻雀搜索算法SSA求解最佳的SVM参数c和g代码5.根据最佳的参数进行SVM模型训练代码6.SVM模型预测代码7.准确率分析以及分类结果对比作图代码本文以红酒…...
利用机器学习库做动态定价策略的例子
动态定价是一个复杂的问题,涉及到市场需求、库存、竞争对手行为、季节性因素等多个变量。在实际应用中,动态定价通常需要复杂的模型和大量的数据分析。我选择使用Python(Golearn库)进行机器学习模型的训练和部署,而将G…...

Tcpdump -r 解析pcap文件
当我们使用命令抓包后,想在命令行直接读取筛选怎么办?-r参数就支持了这个 当你使用 tcpdump 的 -r 选项读取一个之前捕获的数据包文件,并想要筛选指定 IP 地址和端口的包时,你可以在命令中直接加入过滤表达式。这些过滤表达式可以…...

[dvwa] sql injection(Blind)
blind 0x01 low 1’ and length(version()) 6 # syntax: substr(string , from<start from 1>, cut length) 1’ and substr(version(),1,1) ‘5’ # 1’ and substr(version(),2,1) ‘.’ # 1’ and substr(version(),3,1) ‘7’ # 1’ and substr(version(),4,…...

linux 挂载云盘 NT只能挂载2T,使用parted挂载超过2T云盘
一、删除原来挂载好的云盘和分区 1、查看挂载号的云盘 fdisk -l 发现我们有5千多G但是只挂载了2T,心里非常的慌张!十分的不爽! 好,我们把它干掉,重新分区! 2、解除挂载 umount /homeE 没保存跳转到&…...

用Skimage学习数字图像处理(021):图像特征提取之线检测(下)
本节是特征提取之线检测的下篇,讨论基于Hough变换的线检测方法。首先简要介绍Hough变换的基本原理,然后重点介绍Skimage中含有的基于Hough变换的直线和圆形检测到实现。 目录 10.4 Hough变换 10.4.1 原理 10.4.2 实现 10.4 Hough变换 Hough变换&…...
ArduPilot飞控之Gazebo + SITL + MP的Jetson Orin环境搭建
ArduPilot飞控之Gazebo SITL MP的Jetson Orin环境搭建 1. 源由2. Linux环境整理3. 安装Gazebo环境3.1 安装Gazebo3.2 安装插件3.3 配置插件3.4 测试Gazebo 4. 安装Arudpilot-SITL环境4.1 克隆工程4.2 编译准备4.3 环境配置4.4 配置编译4.5 测试运行 5. 测试运行6. 参考资料 1…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...