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…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
